Méthode pour écrire dans un fichier ofstream

Méthode pour écrire dans un fichier ofstream - C++ - Programmation

Marsh Posté le 21-03-2006 à 11:55:39    

Bonjour, j'ai un souci pour créer une méthode permettant d'écrire une "en-tete" dans un fichier ofstream ... voici mon bout de code pour la méthode :
 

Code :
  1. void affiche_en_tete_SDU(std::ofstream file, int num_SDU, int index_SDU_depart, int index_SDU_balayage, std::vector<int> temps)
  2. {
  3.      file << "_________________" << endl;
  4.      file << "SDU n. " << dec << num_SDU << endl ;
  5.      file << "_________________" << endl<< endl << "Entre : " << index_SDU_depart << " et : " << index_SDU_balayage << " octets. ";
  6.      file << "TimeStamp : " << dec << temps[0] << ",";
  7.      file.width(3);
  8.      file.fill('0');
  9.      file << dec << temps[1] << "" << endl<<endl ;
  10. }


 
et lorsque j'appelle ma méthode par la commande :
 

Code :
  1. affiche_en_tete_SDU(file, num_SDU, index_SDU_depart, index_SDU_balayage, temps);


 
le compilo me retourne :
 
769 C:\Dev-Cpp\include\c++\3.4.2\streambuf `std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>& ) [with _CharT = char, _Traits = std::char_traits<char>]' is private  
 
cela signifie-t-il que l'on ne peut créer de méthode ayant pour parametre d'entrée un flux sortant ?
 
Merci de m'éclaircir sur ce point ;)
 
[EDIT] : Le probleme semble effectivement venir de la, j'ai enlevé file du parametre et mis des cout a la place des file et il m'affiche les trames, mais comment les stocker dans un fichier apres ? peut on manipuler cout ?


Message édité par Thordax le 21-03-2006 à 12:00:11
Reply

Marsh Posté le 21-03-2006 à 11:55:39   

Reply

Marsh Posté le 21-03-2006 à 13:30:33    

Essaye ca :
 

Code :
  1. void affiche_en_tete_SDU( std::ofstream& file, int num_SDU, int index_SDU_depart, int index_SDU_balayage, const std::vector<int>& temps)
  2. {
  3.      file << "_________________" << endl;
  4.      file << "SDU n. " << dec << num_SDU << endl ;
  5.      file << "_________________" << endl<< endl << "Entre : " << index_SDU_depart << " et : " << index_SDU_balayage << " octets. ";
  6.      file << "TimeStamp : " << dec << temps[0] << ",";
  7.      file.width(3);
  8.      file.fill('0');
  9.      file << dec << temps[1] << "" << endl<<endl ;
  10. }


Message édité par Joel F le 21-03-2006 à 17:07:18
Reply

Marsh Posté le 21-03-2006 à 14:14:24    

pas essayé, mais la méthode de passage par référence fonctionne nickel en tout cas ;) merci quand même !

Reply

Marsh Posté le 21-03-2006 à 14:29:25    

file ne doit pas etre const

Reply

Marsh Posté le 21-03-2006 à 17:07:09    

oops oui ^^

Reply

Sujets relatifs:

Leave a Replay

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