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 :

Manipulation des fichiers:erreur pour l'affichage


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Points : 55
    Points
    55
    Par défaut Manipulation des fichiers:erreur pour l'affichage
    Voila
    pour une application que je veux crée sur la manipulation des fichiers
    J’ai commencé à coder une class avec des fonctions basic
    Mais voila je j’ai une erreur pour l'affichage

    C’est avec la fonction m_fichierDefaultLire()
    J’ai des lignes à la pace du contenus du 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
    16
    17
    18
    19
    20
    21
    //fonction pour afficher le contenu du fichier 
    void MFichier::m_fichierDefaultLire(){
     
    char chaine[1000] = "";
     
     
    cout<<"Le contenu du fichier est: "<<endl;
       if (fichier != NULL)
        { //rewind(fichier);
    	cout<<"Le contenu du fichier est: "<<endl;
            while (fgets(chaine, 1000, fichier) != NULL) // lire le fichier tant qu'on ne reçoit pas d'erreur (NULL)
            {
    			cout<<chaine; //  affiche la chaîne qu'on vient de lire
     
            }
     
        }
     
     
     
    	}
    bien sur avant j'ai une autre fonction pour l'ouverture du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void MFichier::m_fichierDefault(){
    	fichier= fopen(chemin.c_str(), "w");
    	if(fichier)
    		 cout << "Le fichier est correctement ouvert !" << endl;
    	else 
    		 cerr << "Erreur à l'ouverture !" << endl;
    }
    pour finir une image du problème

    merci d'avance

  2. #2
    Membre habitué

    Inscrit en
    Mai 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 132
    Points : 171
    Points
    171
    Par défaut
    Salut,

    et ca c'est quoi ?!

    fichier= fopen(chemin.c_str(), "w");

    w = (d'anglais) write = ecrire (en francais)

    Il faut utiliser "r" ou bien "rt" ( t = text fichier)

    Fredy "KRUGER"

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Pourquoi ne pas utiliser la STL : les flux pour gérer ton fichier et les strings pour lire les lignes :
    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
     
    class MFichier
    {
    /*[...]*/
       std::ifstream fichier; // flux d'entrée
    /* ou */
       std::ofstream fichier; // flux de sortie
    /* ou */
       std::fstream fichier; // flux d'entrée/sortie
     
    }
    void MFichier::m_fichierDefault(){
    	fichier.open(chemin.c_str(), );
    	if(fichier)
    		 cout << "Le fichier est correctement ouvert !" << endl;
    	else 
    		 cerr << "Erreur à l'ouverture !" << endl;
    }
    puis la lecture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       std::string ligne;
       while (std::getline(fichier,ligne))
       {
          std::cout<<ligne<<"\n";
       }

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    salut
    Ce c_str() est une fonction membre de la librairie string qui va renvoyer un pointeur vers un tableau de caractères

    si j'ai utilisé la STL :car à la fin je veux créer un fonction avec un prototype bool EchangerFile(FILE *f1, FILE *f2);
    si non le w ou rt sa change rien tout jour le même problème pour afficher le contenu du fichier

Discussions similaires

  1. Programmation pour manipuler des fichiers XML
    Par anolo40 dans le forum Débuter
    Réponses: 8
    Dernier message: 09/08/2011, 22h29
  2. Réponses: 2
    Dernier message: 07/10/2007, 19h52
  3. manipulation des fichiers
    Par felicity dans le forum C
    Réponses: 2
    Dernier message: 29/12/2005, 01h11
  4. Réponses: 1
    Dernier message: 27/11/2005, 14h30
  5. Manipulation des fichiers
    Par monsau dans le forum Langage
    Réponses: 7
    Dernier message: 21/09/2004, 17h45

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