Positionnement de texte dans la console

Positionnement de texte dans la console - C - Programmation

Marsh Posté le 18-08-2007 à 18:36:36    

Bonjour
 
On m'a toujours dit qu'il est impossible de positionner du texte dans la console (comme la fonction Locate en QBasic)
D'abord je voudrais savoir si c'est vraiment vrai ou si c'est du code tout pas beau? en tout cas je ne trouve rien sur internet à ce sujet donc c'est que ça doit l'être...
 
Alors j'ai eu l'idée d'utiliser le caractère 8 qui recule le curseur sans effacer (au cas où : je veux dire par là printf("%c", 8); ) mais le problème c'est qu'il n'est pas capable de remonter les lignes :p (même si ce sont des espaces qui ont fait passer la ligne)
 
Alors j'ai pensé à l'artillerie lourde mais je n'ai pas la moindre idée de comment faire ça (ni même si c'est vraiment faisable) : trouver un pointeur pointant sur le contenu de la console (un tableau j'imagine mais j'en sais rien), afin de changer "à la bourrin" un caractère à l'endroit voulu.
 
Merci d'avance si quelqu'un a une idée (ou une autre pour faire ça)

Reply

Marsh Posté le 18-08-2007 à 18:36:36   

Reply

Marsh Posté le 18-08-2007 à 19:21:38    

bizu53 a écrit :

On m'a toujours dit qu'il est impossible de positionner du texte dans la console (comme la fonction Locate en QBasic)


Impossible de manière standard, oui, car la notion de 'console' n'existe pas en C. (il ne connait que les flux d'entrées/sortie à accès séquenciel[1]).

Citation :


D'abord je voudrais savoir si c'est vraiment vrai ou si c'est du code tout pas beau? en tout cas je ne trouve rien sur internet à ce sujet donc c'est que ça doit l'être...


Il existe des solutions systèmes plus ou moins portables. La plus portable est sans aucun doute PDCurses.

 

-----------
[1] fseek() ne fonctionne que sur les fichiers (binaires)


Message édité par Emmanuel Delahaye le 18-08-2007 à 19:24:58

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 18-08-2007 à 20:47:22    

ok merci bien je vais voir ça :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed