Petit probleme tout bete (printf/scanf) - C - Programmation
Marsh Posté le 30-12-2003 à 15:27:21
MagicBuzz a écrit : faut faire un flush du buffer après le getchar. |
j'ai rajoute fflush(stdin) apres mon getchar mais ca ne change rien (c'est bien ca qu'il fallait faire )
Marsh Posté le 30-12-2003 à 15:43:26
bon, je viens de lire sur le forum que sur la majorite des systems fflush(stdin) ne marche pas et qu'il faut vider le buffer "a la main". Comment on fait ?
Marsh Posté le 30-12-2003 à 15:45:42
Je peux pas te dire
Je me souviens juste que j'avais eu ce problème un coup il y a 6 ans quand j'ai fait du C pendant un TP en cours
Marsh Posté le 30-12-2003 à 17:39:43
C'est moi, ça ça marche :
Code :
|
J'ai chopé la macro là http://membres.lycos.fr/cultc/astuces.htm
Marsh Posté le 30-12-2003 à 19:43:43
morpheus67 a écrit : j'ai rajoute fflush(stdin) apres mon getchar mais ca ne change rien (c'est bien ca qu'il fallait faire ) |
Taz troll detected
Marsh Posté le 30-12-2003 à 19:45:44
red faction a écrit : |
j'ai rajoute ce qu'on m'a dit mais j'ai vite remarque que ca ne marchait pas
Marsh Posté le 30-12-2003 à 20:50:49
ToxicAvenger a écrit : scanf caÿ mal (http://www.isty-info.uvsq.fr/~rumeau/fclc/fclc008.html#q_8) |
Où t'as vu un scanf ?
Marsh Posté le 30-12-2003 à 20:57:39
ReplyMarsh Posté le 03-01-2004 à 00:00:25
ReplyMarsh Posté le 03-01-2004 à 00:23:28
*syl* a écrit : T'y as déjà répondu crétin, j'te l'rappele |
oui mais vu que t'avais pas capté que c'etait dans le titre, pauvre abruti, je me permets de le préciser explicitement
Marsh Posté le 03-01-2004 à 00:25:16
ToxicAvenger a écrit : |
L'abruti c'est celui qui a pas compris que je parlais du message et qui n'a même pas pris le temps de le lire pour balancer son lien à 2 balles
Marsh Posté le 03-01-2004 à 00:57:27
mais vous êtes timbrés ou quoi ?
1) faut flusher stdout fflush(stdout)
2) fflush(stdin) ne sert à rien et n'a aucun effet sur les flux d'entrées
3) effectivement on récupère le '\n'
4) faut traiter le cas de EOF
Marsh Posté le 30-12-2003 à 15:05:41
Quand je rentre 0 ou 1 ca marche, je sors de la boucle mais si je rentre un caractere autre que 0 ou 1 ca me fait ca :
Valider ? (0 pour non | 1 pour oui) : 5 //je rentre 5
Valider ? (0 pour non | 1 pour oui) : Valider ? (0 pour non | 1 pour oui) :
Pourquoi ca m'affiche 2 fois mon prinft sans me demander d'entrer le caractere ?
PS : si je remplace le char par un entier ca marche. Mais pourquoi avec un char ca marche pas ?