[C] Entrée et scanf

Entrée et scanf [C] - C - Programmation

Marsh Posté le 14-11-2004 à 14:58:47    

Salut!
 
j'ai fait un prog de calculatrice polonaise inversée, et j'ai un petit problème:
 
je fais scanf("%c", &a); /* a étant un char */
et ensuite je fais if(a == '\n')...
 
Le problème, c'est que quand je tappe Entrée lors de l'éxecution du prog, le caractère '\n' n'est pas mis dans a  
 
Comment faire?
 
ps: je ne sais pas si j'ai été clair...
 
Merci de votre aide.

Reply

Marsh Posté le 14-11-2004 à 14:58:47   

Reply

Marsh Posté le 14-11-2004 à 15:00:12    

utilise getchar
 
tu peux également lire ligne par ligne à coup de fgets, une ligne vide étant tout simplement la ligne "\n"

Reply

Marsh Posté le 14-11-2004 à 15:03:15    

Merci, mais en fait je préfère utiliser un scanf... dans le cas de mon prog, c'est plus simple...
 
Une solution avec scanf ?
 
Merci

Reply

Marsh Posté le 14-11-2004 à 15:08:58    

non. l'usage de scanf est déconseillé. débrouille toi

Reply

Marsh Posté le 14-11-2004 à 21:51:47    

scanf a un comportement plutot facétieux et comme le dit Taz son usage est à éviter (a moins d'aimer les coredump provoqués en écrasant la pile).  
Utilise fgets puis fscanf.

Reply

Marsh Posté le 14-11-2004 à 21:55:40    

sscanf

Reply

Marsh Posté le 14-11-2004 à 22:01:05    

Mea culpa :)
(sscanf effectue la lecture depuis une chaine de caractère fournie en premier argument et fscanf depuis un flux)

Reply

Marsh Posté le 15-11-2004 à 17:24:09    

Merci je vais essayer ça...

Reply

Sujets relatifs:

Leave a Replay

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