Bonjour , je suis en train d'élaborer un programme qui , parmis toutes ces fonctions , permet de lire l'integralité d'un fichier texte , voici le code de ma fonction AfficherTexte() :
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
 
void AfficherTexte();
void AfficherTexte()
{
	FILE *Fich;
	char INPUT[255]; 
	int fermer=0,i;
 
	/* Ouverture pour lecture */
	if((Fich = fopen( "c:\\fichier.txt", "r" )) == NULL )
		printf("---------------Le Fichier na pas pu etre ouvert---------------\n" );
    else
	{
		printf("--------------------Le Fichier est ouvert---------------------\n" );
 
		/* Lecture */
		printf("----------------------CONTENU DU FICHIER----------------------\n" );
		do
		{
			fgets(INPUT, 255, Fich); //on range les caractere dans le buffer
			printf("%s",INPUT);
			if(INPUT == '\0')//si c'est la fin de la ligne
			{
				cout<<endl;// on va a la ligne
			}
		}while (!feof(Fich));// si on est pas arrivé a la fin
 
	/* Fermeture */
	}
    fermer = _fcloseall();
	fclose(Fich);
	if(fermer>0)
		printf("------------------------Fichier Fermer------------------------\n\n");
	else
		printf("----------------------Fichier NON Fermer----------------------\n\n");
}
et mon probléme est que la derniere ligne de mon fichier texte est lu 2 fois...
exemple , mon fichier texte contient :
NOM : resistance
FABRICANT : je sais pas
PRIX HT : 0.05€
et bien dans ma console je vais voir :
NOM : resistance
FABRICANT : je sais pas
PRIX HT : 0.05€
PRIX HT : 0.05€ <----- la ligne en trop
comment faire et surtout pourquoi ce soucis ??

Amicalement lucas
amis programmeurs