Bonjour a tous,

(tout d'abord, je tiens a m'excuser pour les fautes d'accents et d'accord mais je travaille sur un clavier qwerty et je compense le manque d'accent comme je peux...)

Je me trouve face a un pb assez ennuyeux ma fois.
Je suis en train de creer une fonction qui scanne toutes les lignes d'un fichier, pour les mettre dans un autre.
J'utilise donc pour cela la fonction fscanf.

Tout se passe bien, jusqu'a ce que j'arrive a la fin de ce maudit fichier. En effet, je ne sais pas pk mais il me copie 2 fois la derniere ligne.
J'ai beau chercher, je ne vois pas

voici l'endroit de mon code ou je l'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
do
       {
           // we print the Opcode of XPROG
           fprintf(fp, "%d\n", hexa2dec (InstructionSetBuffer->Opcode) );
 
           // we scan the bit file
           fscanf (PFB, "%d", &value);
 
           //and we print this value into the OutputFile
           fprintf(fp, "%d\n", value);
           printf ("the value in the %s file is : %d\n", bit_file, value);
       }while ( !feof(PFB) );
Je scanne donc le fichier pointer par le pointeur PFB.
L'autre pointeur fp n'est pas a prendre en compte, lui marche tres bien.\


Voici la fin du fichier que je scanne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
127
255
127
129
129
et voici ce que m'affiche la console :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
the value in the programfile.bit file is : 127
the value in the programfile.bit file is : 255
the value in the programfile.bit file is : 127
the value in the programfile.bit file is : 129
the value in the programfile.bit file is : 129
the value in the programfile.bit file is : 129

voila, j'espere avoir ete assez clair et j'espere que quelqu'un pourrait savoir d'ou vient mon probleme.

Merci, Meach