Bonjour a tous, j'ai le code suivant qui me permet de trouver un mot dans un fichier txt et de me le signaler.
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.
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; }
Merci
Partager