Programme de recherche de mot
Bonjour a tous, j'ai le code suivant qui me permet de trouver un mot dans un fichier txt et de me le signaler.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int n=0;
char tab[BUFSIZ];
char buffer[BUFSIZ];
FILE*batch;
batch=fopen("C:\\Documents and Settings\\gacia delamare\\Bureau\\Batch_load_ref.txt","r");
if(batch==NULL)
{
fputs("erreur à l'ouverture du fichier\n",stderr);
return EXIT_FAILURE;
}
puts("votre mot : ");
fgets(tab, sizeof tab, stdin);
puts(tab);
{
char *p=strchr(tab, '\n');
if (p!=NULL)
*p=0;
}
while(fgets(buffer, sizeof buffer,batch)) {
char *p=strchr(buffer,'\n');
if(p!=NULL)
{
*p='\0';
}
puts(buffer);
if(strstr(buffer,tab)==0)
{
puts("le mot existe");
}
}
fclose(batch),batch=NULL;
return 0;
} |
Le soucis est que quand je met une chaine de caractère bidon, il me dit qu'il trouve le mot.Je ne vois pas mon erreur.
Merci