Gestion du buffer

Gestion du buffer - C++ - Programmation

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

Reply

Marsh Posté le 07-05-2002 à 10:55:03   

Reply

Marsh Posté le 07-05-2002 à 10:56:55    

Oups, j'ai oublie' de dire que c'etait en C.
 
De'sole' :-)

Reply

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 :-)

Reply

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à...

Reply

Sujets relatifs:

Leave a Replay

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