Chercher un mot dans un fichier en C

Résolu
David -  
 David -
Bonjour,

Je suis débutant en C j'ai crée un petit programme qui cherche un mot a saisir dans un fichier txt .
je sais qu'il faut intégré la fonction strcmp pour la comparaison, comme ca :

if(strcmp(mot, le mot dans le fichier )==0){....

mais ca marche pas !

voila le petit Code que j'ai fais sans le strcmp !

char ch, mot[244];

printf("Mot a Rechercher : ");
scanf("%s",&mot);
fichier=fopen("stagaire.txt","r");
if(!fichier) printf("\nFichier existe pas\n");
else{
printf("\n------------------------------------\n");
printf("ID\tNOM\tPRENOM\t\tAGE");
printf("\n------------------------------------\n");
while(feof(fichier)==0){
ch=fgetc(fichier);
printf("%c",ch);
}
printf("\n\n------------------------------------\n");

Merci d'avance

1 réponse

  1. David
     
    c'est Bon j'ai trouvé la solution :

    voila le code complet

    #include <stdio.h>
    #include <stdlib.h>
    void menu(){
    printf("\nVeuilez choisir votre choix : \n\n1.Recherche\n2.Quittez\n\nEntre votre choix : ");
    }
    int main(int argc, char *argv[])
    {

    FILE * fichier;
    int id, age, choix, result=1;

    char nom[24], prenom[25], mot[244];
    do{
    menu();
    scanf("%i",&choix);
    switch(choix){
    case 1:
    printf("Mot a Rechercher : ");
    scanf("%s",&mot);
    fichier=fopen("miage.txt","r");
    if(!fichier) printf("\nFichier existe pas\n");
    else{
    printf("\n------------------------------------\n");
    printf("ID\tNOM\tPRENOM\t\tAGE");
    printf("\n------------------------------------\n");
    while(feof(fichier)==0){
    fscanf(fichier,"%d\t%s\t%s\t\t%d",&id ,&nom ,&prenom ,&age);

    if(strcmp(mot,prenom)==0){
    result=0;
    printf("%d\t%s\t%s\t\t%d\n",id ,nom ,prenom ,age);
    break;
    }
    }
    printf("\n------------------------------------\n");
    if(result==0){
    printf("\nle nom %s que vous rechercher existe\n",mot);
    }
    else{
    system("cls");
    printf("\nLe nom %s existe pas\n",mot);
    }

    }
    break;
    case 2:
    printf("\n********** Fin de Programme **********");
    break;
    default:
    printf("\nChoix invalid !\n");
    break;
    }
    }
    while(choix!=2);

    getch();

    }
    0