saisie au clavier

saisie au clavier - C - Programmation

Marsh Posté le 15-11-2005 à 16:59:40    

Bonjour,
Y'aurrais pas quelqu'un qui pourrais m'expliquer comment on peut faire un saisie au clavier mais sans le '\n' final.
En fait je voudrais pas que ce que je saisit s'affiche sur la ligne du dessus. En fait je voudrais que ca s'affiche pour verifier ce que l'on tape et ensuite quand on tape entrer que ca efface la ligne saisit qu'elle dissparaissent de l'affichage mais je veux quand meme recuperer la valuer de la saisie.
Merci

Reply

Marsh Posté le 15-11-2005 à 16:59:40   

Reply

Marsh Posté le 15-11-2005 à 18:27:33    

mmmm
 
tout dépend quel compilateur tu utilises...  
Si c'est un compilateur borland, alors tu peux utiliser getch()...
 
Si tu as un compilateur sous Linux/Unix, alors la recherche sur google "getch unix"... La semaine passée j'ai du avoir la fonctionnalité de getch et j'ai trouvé tout de suite un petit exemple simple...  
 

Reply

Marsh Posté le 15-11-2005 à 18:59:06    

Avec les compilateurs MicroSoft c'est _getch(), il faut inclure conio.h.
Mais pour que ce que tu tapes soit vraiment pris en compte il faudra bien taper le Enter

Reply

Marsh Posté le 16-11-2005 à 09:17:51    

sinon, y'a kbhit(), scanf()...

Reply

Marsh Posté le 16-11-2005 à 16:17:58    

rufo a écrit :

sinon, y'a kbhit(), scanf()...


Pas vraiment la même chose
kbhit pour détecter le frappe d'une touche sous DOS (car sous Unix, c'est autre chose...)
scanf c'est la lecture de données formatées, autre galère...

Reply

Marsh Posté le 21-11-2005 à 13:33:48    

bon je vous arrete je suis sous linux et j'utilise gcc.
 
en fait je voudrais un truc du genre
affichage execution du code lors de la frappe
./mon_prog
j'ecrit ca et je tappe entrer
 
affichage execution du code apres la frappe
./mon_prog
 <- le curseur est la et j'ai traiter la chaine entrer.
 
Voila est  ce plus clair??

Reply

Marsh Posté le 21-11-2005 à 14:51:09    

minimoke a écrit :

bon je vous arrete je suis sous linux et j'utilise gcc.
 
en fait je voudrais un truc du genre
affichage execution du code lors de la frappe
./mon_prog
j'ecrit ca et je tappe entrer
 
affichage execution du code apres la frappe
./mon_prog
 <- le curseur est la et j'ai traiter la chaine entrer.
 
Voila est  ce plus clair??


fgets(), c'est du standard
 
http://mapage.noos.fr/emdel/notes.htm#saisie
http://mapage.noos.fr/emdel/notes.htm#fichiers


---------------
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 21-11-2005 à 16:19:49    

Tu peux faire

Code :
  1. fgets(buf, sizeof(buf), stdin);
  2. // puis tu vires le '\n' final en faisant
  3. if ((p = strchr(buf, '\n')) != NULL)
  4.   *p = 0;

Celà permet de virer le '\n' de fin de ligne laissé par fgets.


Message édité par Trap D le 21-11-2005 à 16:20:32
Reply

Marsh Posté le 22-11-2005 à 18:01:12    

oui mais la chaine s'affiche a l'ecran. Je crois pas que vous ayez compris ce que je voulais. en fait ce que je voudrais c un peu comme un scanf donc ca affiche a l'ecran ce que l'on tape au moment ou on le tape mais quand on appuie entrer on efface la chaine de l'ecran. C'est comme si on faisais un scanf normal puis ensuite on efface la ligne au dessus du cursseur un genre de \b sur la ligne du dessus seulement je ne sais pas si c'est possible car je ne connais pas tout sur le c.


Message édité par minimoke le 27-11-2005 à 15:24:52

---------------
  ____
Reply

Marsh Posté le 27-11-2005 à 15:25:24    

up !!!


---------------
  ____
Reply

Marsh Posté le 27-11-2005 à 15:25:24   

Reply

Marsh Posté le 29-11-2005 à 16:09:24    

no hup !!!

Reply

Sujets relatifs:

Leave a Replay

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