Bonsoir,

Je cherche a retourner la position d'une chaine recherchée dans l'ensemble de la chaine par exemple

char chaine[]="salut";
je recherche la position du caractere u
la position est chaine[u];

Je ne comprends pas pourquoi ça ne marche pas ...

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
int main()
{
char nm_fic[20];
FILE *fichier=NULL;
char buffer[T];
char car[50];
int nb=0;
int i;
char *recherche=NULL;
 
scanf("%s",nm_fic);
fichier=fopen(nm_fic,"r");
if (fichier)
{
	fread(buffer,sizeof(char),T,fichier);
	printf("%d\n",strlen(buffer));
 
	printf("Caractere recherche dans %s:\n",nm_fic);
	scanf("%s",car);
 
 
	recherche=strstr(buffer,car);
	if (recherche != NULL)
	{
		printf("%s existe dans le fichier\n",recherche);
 
		for(i=0;buffer[i] != 0;i++)
		{
			if (buffer[i]==car)
			{
				printf("tab[%d]\n",i);
			}
		}
	}
 
	else
	{
		printf("Il n'y a pas de %s\n",car);
	}
}
Merci