Au fait juste une rectification,pour zooro,tu n a pas vu la boucle do_while
SI la fonction ne trouve pas le mot,elle continue a chercher jusqu a la fin du fichier
Au fait juste une rectification,pour zooro,tu n a pas vu la boucle do_while
SI la fonction ne trouve pas le mot,elle continue a chercher jusqu a la fin du fichier
Ben non, fscanf("%s"...) ça ne lit qu'un seul mot, pas toute la ligne.
Tu ne lui dis jamais de passer à la ligne suivante, il me semble...
Et vu la structure du fichier, c'est d'autant plus dommage de ne pas utiliser fgets...
Tu ne fais pas un "ET" entre les deux expressions mais un "ET" bits à bits, soit un masque...
Code : Sélectionner tout - Visualiser dans une fenêtre à part while((fgetc(fichier)!=EOF)&(k==13));
Correction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part while((fgetc(fichier)!=EOF)&&(k==13));
Je sais homéo
je l'avais rectifier le && mais kan j ai fait le copier coller je l'avais oublier
non je viend d essayer le fgets ca ne fait rien et meme pire que ca,ca me cause des problemes parce que ca n'affiche plus rien du tout maintenant!!
Moi je pense que c'est un probleme de fichier mais je sais pas ou et comment
fgets est à mon avis la meilleure solution à utiliser.non je viend d essayer le fgets ca ne fait rien et meme pire que ca,ca me cause des problemes parce que ca n'affiche plus rien du tout maintenant!!
Par contre, pour comparer ta ligne lue avec ta chaine de caractère, tu dois au préalable supprimer le '\n'.
Voir ce lien:
http://c.developpez.com/faq/c/?page=...hr_after_fgets
Remarque: Pour se positionner au début d'un fichier
Mais si je ne me trompe pas, par défaut, à l'ouverture du fichier, tu te places déjà en début de fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 /* Se positionner au début du fichier */ fseek( fichier, 0, SEEK_SET);
Exact.Envoyé par homeostasie
Pour moi, un fgets et une bonne boucle devraient régler le problème.
J ai essayer avec fssek mais c'est toujours le meme probleme quand je demande au programme de me lire afriquia gaz,il compare une seul fois puis il sort de la boucle do_while comme si c etait deja la fin du fichier
je dois mettre quoi dans le fgets puisque vous insistez??je ne connais pas bien sa syntaxe!!!!
et la boucle ??elle est deja bien non??
J ai remarquer un truc :c'est que meme quand je met "fseek..0..."pour qu il pointe au debut du fichier et bien le compilateur l ignore et sort direct de la boucle do_while!!!!c est pas logique
j ai mis fssek juste avant le while et malgré ca,il sort de la boucle,vraiment ca me depasse!!!
Je ne suis pas sûr qu'utiliser fseek avec un fichier texte soit une bonne solution
Il me semble qu'on ne peut pas revenir en arrière dans les fichiers texte...
http://man.developpez.com/man3/fseek.3.php#L4
Ne post pas toutes les 3 minutes, lit la doc de fgets, réfléchis calmement à ce que tu veux faire, et réécrit ton bout de code.
Je suis tout à fait d'accord, tu ne prends même pas le temps d'examiner ou de lire la doc sur telles ou telles fonctions.Ne post pas toutes les 3 minutes, lit la doc de fgets, réfléchis calmement à ce que tu veux faire, et réécrit ton bout de code.
Enfin, voici un bout de code qui devrait vraiment t'aider:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 char ligne[256] = {0}; char chaine[] = "Ligne 3"; while(fgets(ligne, sizeof(ligne), fIn)) { /*faire le code ou l'appel d'une fonction pour supprimer le '\n' avant comparaison*/ if (!strcmp(ligne, chaine)) { /* les chaines sont identiques */ printf("chaines identiques: %s\n",ligne); } }
j ai resolu mon probleme tout seul et oauis je suis troooop fort
d ailleurs ne dit on pas,on n ai jamais mieux servi que par soi-meme
Je ne sais pas si tout le monde sera de mon avis, mais le forum n'est pas là pour résoudre tes problèmes, mais pour t'aider à les résoudre !Envoyé par mehdi.berra
Et je crois qu'il a été bien aidé, qu'y puisé!Je ne sais pas si tout le monde sera de mon avis, mais le forum n'est pas là pour résoudre tes problèmes, mais pour t'aider à les résoudre !mehdi.berra a écrit :
j ai resolu mon probleme tout seul
JE ne crois pas,pour tout vous dire mes chere,vos conseils etait plutot ....bidon
naaaaan je plaisante
merci a vous tous pour vos conseil et votre aide
c gentil
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager