Bonsoir,

Cela fait un petit moment que j'essaie de trouver mon erreur dans mon programme que je vais poster ci-dessous :

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
 
#include <stdio.h>
#include <stdlib.h>
 
int main (int argc, char *argv[])
{
 
  FILE *cible;
  int rang, i=0, valeur=0, j=0;
 
 
  if (cible=fopen("save_int.txt","r"))
    {
 
        while (fgetc(cible)!=EOF)
	{
	  while(fgetc(cible)!='\n');
	  j++;
	  }
 
       printf("Entrez le rang de la valeur recherchee : ");
       scanf("%d",&rang);
 
       while (rang>j)
	 {
	  printf("Depassement du fichier ! \n Entrez a nouveau le rang : ");
	  scanf("%d",&rang);
	  }
 
 
       while (!feof(cible)&&(i<rang))
	{
 
	  fscanf(cible,"%d",&valeur);
	  i++;
 
	  }
 
	printf("%d \n",valeur);
	fclose(cible);
    }  
 
  else printf("Erreur à l'ouverture du fichier ! \n");
 
  return EXIT_SUCCESS;
}
En fait j'ai essayé de trouver l'erreur en procédant par petits tests en reprenant chaque bout de code mais je ne comprend pas l'erreur !

En fait il ne rentre pas dans la boucle suivante : while (!feof(cible)&&(i<rang))
Il devrait y rentrer et me lire l'entier qui figure sur la première ligne de mon fichier texte ou sont présents plusieurs entiers (un par ligne), et le stocker dans la variable valeur.

Besoin d'un petit coup de main ...

Merci,