bonjour,
voila le programme :voila le contenu de mon fichier :
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 #include <stdio.h> int main (){ FILE * fp1; char bar; int f; fp1=fopen("test.txt","r"); while(!feof(fp1)){ fscanf(fp1,"%d",&f); printf("%d",f); printf("\n"); } fclose(fp1); return(0); }
12
ce programme il m'affiche 2 fois ce nombre donc il affiche ça:
12
12
je sais pas pourquoi il l'affiche 2 fois.
je sais que lorsque j'utilise le fscanf le déscipteur avance non ?
j'ai cru que je dois lire le caractere pour le tester si EOF ou non , je change le programme mais le meme probleme :
dans ce programme je suis obligé d'utiliser le fscanf car dans le net je trouve une solution qui est de lire caractere par caractere à ce stade ça marche , mais je veux utiliser le fscanf .
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 #include <stdio.h> int main (){ FILE * fp1; char bar; int f; fp1=fopen("test.txt","r"); while(fgetc(fp1)!=EOF){ fseek(fp1,-1L,SEEK_CUR); fscanf(fp1,"%d",&f); printf("%d",f); printf("\n"); } fclose(fp1); return(0); }
Merci
Partager