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 : 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
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