Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3063 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Problème stringstream/fstream et rdbuf() [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Problème stringstream/fstream et rdbuf() [résolu]

n°1598008
sknet
Posté le 10-08-2007 à 00:25:19  profilanswer
 

Bonjour,
 
Voila en voulant mettre le contenu d'un fichier en mémoire dans un stringstream via ce morceau de code :
 

Code :
  1. std::ifstream fichier ("toto.txt", std::ios::in);
  2. std::stringstream ss;
  3. ss << fichier.rdbuf();
  4. fichier.close();


 
Cela semble marcher quand j'utilise l'operator<<, j'obtiens le meme resultat que si j'utilisais le fichier pour extraire, mais en vérifiant la taille du fichier et du contenu du stringstream, j'obtiens 2 résultats différents , ex :
 

Code :
  1. fichier.seekg(0, std::ios::end);
  2. std::cout << "Taille fichier ouvert : " << fichier.tellg()<<std::endl; //=>200986 qui est la taille correcte du fichier.
  3. fichier.seekg(0, std::ios::beg);
  4. std::streambuf * buf;
  5. pbuf = fichier.rdbuf();
  6. std::cout << "Nombre de caractère dispo :  " <<buf->in_avail()<<std::endl; //=>200986 la aussi ce qui me surprend guère.
  7. std::stringstream ss;
  8. ss << fichier.rdbuf();
  9. ss.seekg(0, std::ios::end);
  10. std::cout << "Taille du stringstream : " << iss.tellg()<<std::endl; //=>197506 ... gné ???!!!


 
Alors que je n'ai effectué aucune opération d'extraction entre les tests ci dessus.
 
Merci pour celui ou celle qui pourra m'expliquer l'origine de ce résultat :D
 
edit :
 
Rah je me suis encore fait ***** avec le format du fichier, en ouvrant en mode binaire tout rentre dans l'ordre, désolé du dérangement :D


Message édité par sknet le 10-08-2007 à 04:27:27
mood
Publicité
Posté le 10-08-2007 à 00:25:19  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Problème stringstream/fstream et rdbuf() [résolu]

 

Sujets relatifs
Problème pour une requête sql[Résolu] Hiérarchie de menus : besoin de conseils
Probleme controle de saisieerreur dans un programme simple (resolu)
Problème avec un script simple[ACCESS]problème de mise a jour de données...
Problème Vb.Net TCP/IPHistoire de package [Resolu]
problème avce .jarProblème pour créer une table avec phpmyadmin
Plus de sujets relatifs à : [C++] Problème stringstream/fstream et rdbuf() [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR