écrire dans un fichier

écrire dans un fichier - C++ - Programmation

Marsh Posté le 31-03-2004 à 15:54:34    

Bonjour,
Je souhaite ecrire dans un fichier texte, dans un projet qui genere une DLL.
Je fais en gros :
FILE* fichier;
fichier = fopen("fichier.txt","a" );
fprintf(fichier,"hello\n" );
fclose(fichier);
 
Lors de l'execution, une exception est levee au moment d'appeler fprintf. Et je ne vois pas pourquoi.
 
Dans un projet qui genere un executable, le meme code passe tres bien.

Reply

Marsh Posté le 31-03-2004 à 15:54:34   

Reply

Marsh Posté le 31-03-2004 à 15:59:17    

Reply

Marsh Posté le 31-03-2004 à 16:11:47    

euh c'est du C ça, pas du C++ :heink:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 31-03-2004 à 16:22:32    

drasche a écrit :

euh c'est du C ça, pas du C++ :heink:

[:grilled]
A+,

Reply

Marsh Posté le 31-03-2004 à 16:44:14    

bin au moins je le dis explicitement :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 31-03-2004 à 20:50:34    

Si ca peut t'aider pour la version C++...
 

Code :
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. int main ()
  5. {
  6. ofstream fichier ( "fichier.txt", ofstream::app );
  7. if( fichier.is_open() )
  8. {
  9. fichier << "hello" << endl;
  10. fichier.close();
  11. }
  12. }


 
edit : correction Taz  :o -
 
Cordialement,
 xter.


Message édité par xterminhate le 31-03-2004 à 21:44:13
Reply

Marsh Posté le 31-03-2004 à 20:54:20    

ofstream fichier ( "fichier.txt", ofstream::out |
 
ça suffit pas, il faut faire un
 
ofstream fichier ( "fichier.txt", ofstream::out | ofstream::app | ofstream::out );  
 
au cas ou

Reply

Marsh Posté le 31-03-2004 à 21:05:05    

Avec les balises ça serait mieux Mister Taz ...

Reply

Marsh Posté le 31-03-2004 à 21:05:35    

non, ça m'évite d'avoir à :o comme je viens de le faire :o

Reply

Marsh Posté le 31-03-2004 à 21:09:28    

Vi, mais on comprends nettement moins la correction, enfin moi, et je ne vois donc pas la différence.

Reply

Marsh Posté le 31-03-2004 à 21:09:28   

Reply

Marsh Posté le 31-03-2004 à 21:16:20    

je faisais juste remarquer que s'il y a un "o" a ofstream, c'est bien pour la simple raison que ça n'ouvre les fichiers qu'en lecture :o

Reply

Marsh Posté le 31-03-2004 à 21:34:31    

Taz a écrit :

ofstream fichier ( "fichier.txt", ofstream::out |
 
ça suffit pas, il faut faire un
 
ofstream fichier ( "fichier.txt", ofstream::out | ofstream::app | ofstream::out );  
 
au cas ou


Ok, mais y a 2 "ofstream::out" ? ça sert à quoi ?

Reply

Marsh Posté le 31-03-2004 à 21:35:25    

à la même que s'il y en avait 1 ou 100

Reply

Marsh Posté le 31-03-2004 à 21:38:39    

En cas de doute et selon le compilateur, un 3eme ofstream::out peut s'avérer nécessaire, surtout si la quantité de données à écrire dans le fichier est importante. Faudrait que je retrouve la régle de proportionnalité....
 
Désolé 8-)

Reply

Marsh Posté le 31-03-2004 à 21:45:40    

Ah ? z'êtes sérieux là ??
Ok, je retourne réviser ...

Reply

Marsh Posté le 02-04-2004 à 10:20:31    

classes ifstream, ostream  
 
+1

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed