Fichier en c++

Fermé
zmandar - 3 déc. 2010 à 13:52
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 3 déc. 2010 à 14:14
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 >
A voir également:

2 réponses

postnop Messages postés 82 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 4 avril 2015 3
Modifié par postnop le 3/12/2010 à 14:07
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
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
3 déc. 2010 à 14:10
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
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
3 déc. 2010 à 14:13
Mon code compile au fait hein !
0
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
3 déc. 2010 à 14:14
Ceci ouvre un flux d'ecriture vers un fichier, pas besoin de l'écrire deux fois pour un même fichier !!!
0