A voir également:
- Recherche dans un fichier en C
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
1 réponse
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
Modifié par Pacorabanix le 6/01/2011 à 18:00
Modifié par Pacorabanix le 6/01/2011 à 18:00
salut,
premièrement lorsque tu postes du code dans ce forum utilise les balises code
au lieu d'avoir
comme ceci
ça permet de mieux mettre en forme
ton texte
ensuite,
enlevons les commentaires (des essais ? )
de ta fonction, ça donne :
je dois dire que je ne comprends pas ce que tu fais.
tout d'bord, "nomdonne" c'est pas censé être une variable ?
que tu devrais remplir avec ce qui est passé en argument ?
ensuite, quoiqu'il arrive tu lis un truc, et même si ce n'est pas ce que tu cherches tu fermes le fichier immédiatement et tu renvoies le résultat... résultat tu termine ta fonction immédiatement après avoir lu le premier truc qu'il y a dans ton fichier, sans faire le reste de ta boucle.
ensuite, la manière dont tu procèdes dépend fortement de comment tu as mis tes données dans ton fichier.
si tu utilises fread() avec ta structure, il faudrait en théorie que tu ais utilisé fwrite() avec ta structure pour l'avoir enregistré dedans au préalable. c'est le cas ?
premièrement lorsque tu postes du code dans ce forum utilise les balises code
comme ceci ça permet de mieux mettre en forme ton texte
au lieu d'avoir
comme ceci
ça permet de mieux mettre en forme
ton texte
ensuite,
enlevons les commentaires (des essais ? )
de ta fonction, ça donne :
int recherche(char nomderecherche) { personne p; film f; acteur a; char nomdonne; int test=1; FILE *fic1= NULL; fic1=fopen("fichier.txt","r"); if (fic1 != NULL) do { fread(&p, sizeof(p), 1, fic1); test=(strcmp(p.nom,"nomdonne")); fclose(fic1); return(test); }while(!feof(fic1)||(test==1)); }
je dois dire que je ne comprends pas ce que tu fais.
tout d'bord, "nomdonne" c'est pas censé être une variable ?
que tu devrais remplir avec ce qui est passé en argument ?
ensuite, quoiqu'il arrive tu lis un truc, et même si ce n'est pas ce que tu cherches tu fermes le fichier immédiatement et tu renvoies le résultat... résultat tu termine ta fonction immédiatement après avoir lu le premier truc qu'il y a dans ton fichier, sans faire le reste de ta boucle.
ensuite, la manière dont tu procèdes dépend fortement de comment tu as mis tes données dans ton fichier.
si tu utilises fread() avec ta structure, il faudrait en théorie que tu ais utilisé fwrite() avec ta structure pour l'avoir enregistré dedans au préalable. c'est le cas ?
6 janv. 2011 à 20:09
6 janv. 2011 à 20:48
et sinon, effectivement...
6 janv. 2011 à 22:12