Fflush(stdin)

deedflit Messages postés 9 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 11 juin 2005 - 9 juin 2005 à 18:20
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 - 9 juin 2005 à 20:09
Est ce que la commande fflush(stdin) marche sous linux? sinon par quoi faut il la remplacer?

6 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 juin 2005 à 18:40
Le résultat de fflush avec un flux d'entrée est indéfini, normalement
on n'utilise un flux de sortie. Quand on utilise les fonctions C, c'est
pour faire du code protable, donc je vois pas pourquoi tu spécifies
sous Linux...

Je ne peux pas te dire par quoi le remplacer, etant donné que je ne sais pas ce que tu voulais faire en écrivant ca/
0
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
9 juin 2005 à 19:12
Oui c'est vrai que fflush(stdin) est indéfini mais malheureusement il est nécessaire dans certains situation:

scanf("%[^\n]",str);

fflush(stdin);

scanf("%[^\n]",str2);

fflush(stdin);



en tout cas ce qui est marrant ce que le résultat est indéfini mais
j'aimerais biens savoir pourquoi ? et aussi pourquoi il marche tout le
temps ?(en tout cas je n'ai jamais eut de problème) .

A m a u r y
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 juin 2005 à 19:15
Moi je lis ce qui est écrit dans K&R

Ca veut dire quoi scanf("%[^\n]",str); ? Et pourquoi c'est nécessaire ici?
0
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
9 juin 2005 à 19:36
scanf("%[^\n]",str) -> permet de lire une chaîne de caractère sur
l'entrée standard mais en prend en compte les exemple . Le problème
c'est que çà enlève pas le \n du buffer d'entrée...

A m a u r y
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 juin 2005 à 19:38
Je crois que tu t'es un peu mélangé les pinceaux la: prend en compte les exemple? j'imagine que tu voulais dire les espaces :)
0
Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
9 juin 2005 à 20:09
euh oui oula je voulais dire les espace lol çà m'apprendra à pas me relire

A m a u r y
0
Rejoignez-nous