Fichier en c++

zmandar -  
azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je veux ceé un fichier test.txt en c:\ et je veux créé dans cette fichier bonjour

voila le code que je le fait il me permet de créé une fichier mais elle vide il ne écrit pas bonjour dedans

<code>
// safa.cpp*: fichier projet principal.

#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{

FILE* fichier;
/* creation d' un fichier */

ofstream fichier("C:\\test.txt", ios::out | ios::trunc); // ouverture en écriture avec effacement du fichier ouvert

if(fichier)
{
fichier.close();
}
else
cerr << "Impossible d'ouvrir le fichier !" << endl;

return 0;
/* ecrire bonjour dans ce fichier */

ofstream fichier("C:\test.txt", ios::out | ios::app);
if(fichier)
{

fichier << "bonjour"<< endl;

fichier.close();
}
else
cerr << "Impossible d'ouvrir le fichier !" << endl;

return 0;
}

}
</code >

2 réponses

  1. postnop Messages postés 111 Statut Membre 3
     
    Salut,

    lorsque tu ré ouvre ton fichier tu utilises :

    ofstream fichier("C:\test.txt", ios::out | ios::app);

    je pense qu'avec :

    ofstream fichier("C:\test.txt", ios::out | ios::trunc);

    sa pourrait marcher.

    Et autre chose, ton return (0); avant l'ecriture
    Ben sa quitte ton programme si c'est dans la même fonction :/
    Et c'est sa qui fait que sa ne continue pas

    EN gros :

    <code>
    // safa.cpp*: fichier projet principal.

    #include "stdafx.h"
    #include <iostream>
    #include <string>
    #include <fstream>

    using namespace std;

    int main()
    {

    FILE* fichier;
    /* creation d' un fichier */

    ofstream fichier("C:\\test.txt", ios::out | ios::trunc); // ouverture en écriture avec effacement du fichier ouvert

    if(fichier)
    {
    fichier.close();
    }
    else
    {
    cerr << "Impossible d'ouvrir le fichier !" << endl;
    return 0; // le return doit être dans le "else"
    } // Donc il te faut les "{}"

    /* ecrire bonjour dans ce fichier */

    ofstream fichier("C:\test.txt", ios::out | ios::trunc); // p
    if(fichier)
    {
    fichier << "bonjour"<< endl;
    fichier.close();
    }
    else
    cerr << "Impossible d'ouvrir le fichier !" << endl;
    return 0;
    }
    0
  2. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
     
    Bonjour, il y avait de nombreuses erreurs, je te laisse regarder, si tu veux que je te les commente, demande moi !

    Mais ca marchais pas surtout parce que tu fais un return 0 avant décrire, donc tout le code suivant le premier return 0 n'est pas compilé.

    Return -> Sortie immédiat de la fonction.

    // safa.cpp*: fichier projet principal.
    
    #include <iostream>
    #include <string>
    #include <fstream>
    
    using namespace std;
    
    
    int main()
    {
    
        FILE* nom_fichier; // Ce nom ne doit pas être le même que celui du flux fstream
        /* creation d' un fichier */
    
        ofstream fichier("./test.txt", ios::out | ios::trunc); 
        // ouverture en écriture avec effacement du fichier ouvert
    
    
        if(fichier)
        {
            fichier << "bonjour" << endl;
            cout << "ca a marché" << endl; // vérifier un coup dans la console.
            fichier.close();
        }
    
        else
            cerr << "Impossible d'ouvrir le fichier !" << endl;
        return 0;
    
    }
    
    0
    1. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
       
      Mon code compile au fait hein !
      0
    2. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
       
      Ceci ouvre un flux d'ecriture vers un fichier, pas besoin de l'écrire deux fois pour un même fichier !!!
      0