Gestion du buffer - C++ - Programmation
Marsh Posté le 07-05-2002 à 10:56:55
Oups, j'ai oublie' de dire que c'etait en C.
De'sole' :-)
Marsh Posté le 07-05-2002 à 10:58:39
Utilise plutôt fgets(chaine, taille_max, stdin) ce qui évite de dépasser la taille du buffer.
Avant de faire le gets/fgets tu peux faire un fflush(stdin), ça devrait résoudre ton problème.
Marsh Posté le 07-05-2002 à 11:07:36
Merci de ta reponse si rapide antp, mais apparemment le
fflush(stdin) merde parce que ca ne change rien...
Je crois que fflush, ca ne se contente pas de vider le flux,
mais ca essaye de le mettre qqpart. Mais je sais pas trop ou :-)
Marsh Posté le 07-05-2002 à 11:35:00
kinanveu a écrit a écrit : Merci de ta reponse si rapide antp, mais apparemment le fflush(stdin) merde parce que ca ne change rien... Je crois que fflush, ca ne se contente pas de vider le flux, mais ca essaye de le mettre qqpart. Mais je sais pas trop ou :-) |
non, y m'semble bien que le fflush se contente de vider le flux.
Ton pb doit pas venir de là...
Marsh Posté le 07-05-2002 à 10:55:03
Salut,
J'utilise un gets dans mon programme. Si l'utilisateur tape
qqchose au clavier avant le gets, ce qqchose sera attribue' au
gets et le debloquera, ce que je ne souhaite pas.
Je voudrais donc vider le buffer avant d'utiliser mon gets, pour
etre sur que ce gets attende une nouvelle entre'e clavier.
Et ca, ben je sais pas comment on fait...
Je sais pas si je suis tres explicite :-)
Merci pour votre aide.
PS: je suis sous Solaris