Ecrire sur un fichier

Ecrire sur un fichier - C++ - Programmation

Marsh Posté le 15-09-2006 à 21:01:58    

Bonjour !
 
   Je suis en train d'apprendre à écrire sur un fichier en utilisant des fstream (car jusqu'a présent j'utiisait plutôt des fonctions du C... et donc c'est pas terrible pour quelqu'un qui pretend faire du C++)
donc voilà mon ptit programme :

Code :
  1. #include <iostream>
  2. #include <sstream>
  3. #include <fstream>
  4. #include <string>
  5. int main(int argc, char **argv)
  6. {
  7. int n1, n2;
  8. std::string s;
  9. std::fstream f("test.txt", std::ios_base::in | std::ios_base::out);
  10. if(f.is_open())
  11. {
  12.  std::getline(f, s);     //lecture du fichier
  13.  std::istringstream iss(s);
  14.  iss>>n1>>n2;          //on récupère les deux entiers
  15.  std::cout<<"Les deux nombre du fichier sont : "<<n1<<" et "<<n2<<std::endl;
  16.  std::cout<<"l'addition donne : "<<n1+n2<<std::endl;
  17.  f<<n1<<"+"<<"n2"<<"="<<(n1+n2)<<std::endl;   //ecrit sur le fichier l'operation effectuée
  18.  f.close();
  19. }
  20. return 0;
  21. }


Donc tout marche bien jusqu'au moment où je veux écrire sur le fichier "test.txt" : car en fait le fichier n'est pas modifié...
Voyez-vous où se trouve mon erreur ?
 
Merci :)

Reply

Marsh Posté le 15-09-2006 à 21:01:58   

Reply

Marsh Posté le 16-09-2006 à 02:09:58    

Salut,
Il faut que tu mettes le curseur d'écriture là où tu veux que ton écriture se fasse avant d'y écrire quelque chose en utilisant un fstream.
Si tu utilisais un ofstream en plus, tu n'aurais pas à le faire.


---------------
.
Reply

Marsh Posté le 16-09-2006 à 10:28:06    

Ok, merci !
ça marche impécable avec fstream et ofstream;  :)

Reply

Sujets relatifs:

Leave a Replay

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