IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Probleme avec la lecture d'un fichier texte : fread


Sujet :

C

  1. #1
    Membre régulier Avatar de Lucas42
    Inscrit en
    Janvier 2006
    Messages
    301
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 301
    Points : 97
    Points
    97
    Par défaut Probleme avec la lecture d'un fichier texte : fread
    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

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Il y a du C++ dans ton code tu vas te faire taper sur les doigts

  3. #3
    Membre régulier Avatar de Lucas42
    Inscrit en
    Janvier 2006
    Messages
    301
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 301
    Points : 97
    Points
    97
    Par défaut
    ce n'est pas pour 1 ligne en c++ que je vais me faire taper sur les doigts.....

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    c'est pourtant simple et on l'a répété 250000 fois sur ce forum..

    • FEOF NE S'UTILISE PAS COMME CA
    • ON NE TESTE PAS LA FIN DE LECTURE COMME CA....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      while ( fgets(INPUT, 255, Fich) != NULL )
       {
          fprintf(stdout, "%s\n",INPUT);
       }

    st'y pas pu simple ?????????

  5. #5
    Membre averti Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Points : 345
    Points
    345
    Par défaut
    On fait soit du C soit du C++ on ne mix pas dans un code le C avec le C++ (enfin le compilateur va déconer) non ?

    Sinon regarde ici : http://emmanuel-delahaye.developpez....s.htm#fichiers

Discussions similaires

  1. Problème avec la lecture d'un fichier texte
    Par Pentos60 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/01/2011, 15h27
  2. probleme windows form, lecture dans un fichier texte
    Par fbarbin dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/09/2008, 14h06
  3. Lecture d'un fichier texte avec ligne vide.
    Par cotcouture dans le forum Général Python
    Réponses: 2
    Dernier message: 06/10/2006, 02h54
  4. probleme avec la lecture d'un fichier
    Par guiillaume63 dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2006, 08h44
  5. Gros probleme de lecture d'un fichier texte
    Par Draekonyss dans le forum C
    Réponses: 12
    Dernier message: 25/04/2006, 09h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo