Un equivalent a fgets ?

schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008 - 22 mai 2008 à 15:48
BastienL21 Messages postés 172 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 12 février 2009 - 23 mai 2008 à 17:34
Bonjour,

Je recherche simplement une fonction equivalente a fgets ?

Car je la sousponne de mal fonctionné sur l'ordi ou je bosse XD

(les gets() marche mal, alors pourquoi pas fgets...)

Merci =)
A voir également:

6 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 mai 2008 à 16:15
Qu'est-ce qui te fais dire que gets fonctionne mal ?

C++ (@++)<!--
0
BastienL21 Messages postés 172 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 12 février 2009 2
22 mai 2008 à 19:55
Bonsoir,
essaye :
fscanf(fichier,"%s", &Variable);

mais pourquoi dis-tu que gets fonctionne mal?
Mets-tu bien la ligne suivante avant chaque "gets"?
fflush(stdin);

//Cordialement,
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 mai 2008 à 23:59
fscanf(fichier,"%s", &Variable);

&Variable -> NON. Suppose que Variable soit un pointeur char (char*). Faire &Variable retournera l'adresse du pointeuret non l'adresse contenue par le pointeur.

%s ne lira QU'UN SEUL MOT. fgets lira jusqu'à la fin d'une ligne.

Normalement, il est très déconseillé de lire un fichier de la sorte (fscanf ou fgets) dû au taux probablement élevé d'appels qui seront générés. Lire par bloc et traiter le buffer s'avèrera beaucoup plus performant.

C++ (@++)<!--
0
schap25 Messages postés 21 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 28 mai 2008
23 mai 2008 à 08:04
Mon programme ne voulai pas marché avec un gets (j'avais bien mis le fflush(stdin);) , je l'ai remplacé par un cin>> et ca marche niquel, donc je sais pas pourquoi ..

Mais problème resolu pour le fgets(), lui marchai finalement
Merci tout de meme !
0

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

Posez votre question
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
23 mai 2008 à 11:39
Salut

Attention, les cin s'arretent de lire au premier espace trouvé...

A+
Mon site internet : http://pistol.petesampras.free.fr
0
BastienL21 Messages postés 172 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 12 février 2009 2
23 mai 2008 à 17:34
bonjour,
sinon pour scanf il y a "%[^\n]\n", à la place de %s, qui lit jusqu'à rencontrer un retour à la ligne.

//Cordialement,
0
Rejoignez-nous