URGENT Gestion de fichier en langage C

Résolu
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 27 oct. 2005 à 18:44
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007 - 27 oct. 2005 à 22:21
Voila j'ai un petit pb. je debute en langage C.


imaginons que l'utilisateur tape la ligne de commande suivante:


fichier_source.exe news.dat avion


Je voudrais rechercher toutes les occurences du mot avion dans le fichier news.dat et faire apparaitre toutes les lignes qui contiennent ce mot en sachant que le news.dat peut etre ecrit de cette façon:
ejgej;gkegmle;info;un avion c'est ecrasé dans les iles pacifiques
23-oct-2001;24-oct-2001;foot;lille est champion de france
24-oct-2001;25-oct-2001;info;greve de la faim d'un pilote d'avion

Merci d'avance je suis vraiment perdu.

2 réponses

Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006 1
27 oct. 2005 à 21:41
Suffit de lire le fichier ligne par ligne et faire un strstr(ligne, "avion");



donc :



#include <windows.h>

#include <stdio.h>



int main()

{

FILE *source;

char ligne[256];

int nLigne = 1;



source = fopen("news.dat", "r");



if ( source == NULL)

return 0;



while( fgets( ligne, sizeof( ligne ), source ) )

{

if ( strstr(ligne, "avion") )

{

printf("mot 'avion' trouvé à la ligne %d\n", nLigne);

}

nLigne++;

}



fclose(source);

system("pause");



return 0;

}



3
joduak Messages postés 194 Date d'inscription lundi 11 juillet 2005 Statut Membre Dernière intervention 13 avril 2007
27 oct. 2005 à 22:21
merci zootela ça démonte ! ;)
Bonne soirée.
++
0