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
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
A voir également:
- Fichier en c++
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier host - Guide
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
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;
}
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;
}
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
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.
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; }
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
3 déc. 2010 à 14:13
Mon code compile au fait hein !
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
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 !!!