Bonjour, voila je suis en L2 Informatique et je m'entraine personnellement à manipuler les fichiers, mais là j'avoue que je bloque vraiment, voici l'énoncé de mon problème :


Un fichier contient :

Italie ; Rome ; 39
Espagne ; Madrid ; 34
France ; Paris ; 33
Cuba ; La Havane ; 53
Russie ; Moscou ; 7
Royaume-Uni ; Londres ; 44
Turkmenistan ; Achgabat ; 993
Etats unis ; Washington ; 1
Australie ; Camberra ; 61
Moldavie ; Chisinau ; 373
Et moi je doit creer un programme en C qui detecte si une chaine (Exemple:"Espagne") est présent dans le fichier, avec "Espagne" c'est le cas!

Et voila mon programme vous pouvez le tester il compile mais c'est pas encore ça !!
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define PAYS "paysphone.bip"
#define TAILLE 1000
 
int main(void)
{
  char ch[]="France";
  char chaine[TAILLE];
  char cara = 0;
  FILE *f_pays;
  f_pays = fopen(PAYS,"r");
  if(f_pays == NULL)
  {
    fprintf(stderr,"\n Erreur : Impossible de lire le fichier %s\n",PAYS);
    exit(EXIT_FAILURE);
  }
  else
  {
    int ind=0;
    while(ind !=1)
    {
      int i=0;
      while(i<strlen(chaine))
      {
	chaine[i]=0;
	i++;
      }
      i=0;
      while(!feof(f_pays))
      {
	cara = fgetc(f_pays);
	while(cara != ';')
	{
 
	  chaine[i]=cara;
	  cara = fgetc(f_pays);
	  i++;
	}
	printf("%s\n",chaine);
 
	if(strcmp(ch,chaine) == 0)
	{
	  printf("%s et %s sont identiques\n",ch,chaine);
	  ind = 1;
	} 
 
	while(cara != '\n')
	{
	  cara = fgetc(f_pays);
	}
      }
    }
 
    fclose(f_pays);
  }
 
  return(EXIT_SUCCESS);
}
Merci beaucoup, j'espere que c'est pas trop long à lire