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

  FORUM HardWare.fr
  Programmation
  C++

  lecture d'un istringstream , recuperer l'erreur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lecture d'un istringstream , recuperer l'erreur

n°2165258
puisquetur​epondspas
Posté le 23-11-2012 à 12:54:09  profilanswer
 

Bonjour
Débutant en c++
Pourquoi mon string ne peut etre lu? Comment je fais un try et catch pour recuperer l'erreur de c++ et non pas mon message perso?
 

Citation :


string TATA::filterOutput(const std::string fullOutput)
{
     istringstream ist(fullOutput);
     if( !ist ) throw runtime_error(str(_fmt("Can't output : \n%s" ) % fullOutput ))
 


 
Resultat  : Can't output kjdfjddf ..> ..
 
Merci

mood
Publicité
Posté le 23-11-2012 à 12:54:09  profilanswer
 

n°2165270
gilou
Modérateur
Modzilla
Posté le 23-11-2012 à 14:10:03  profilanswer
 

Si tu fais:
istringstream ist;
ist.str(fullOutput);
tu dois pouvoir tester l'état du stream avec ist.rdstate(), non?
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2169311
Taz
bisounours-codeur
Posté le 28-12-2012 à 22:01:33  profilanswer
 

Lapin.
 
Avec ce petit programme suivant, même en y carrant du /dev/random, impossible de rencontrer un cas ou un istringstream nouvellement initialisé ne serait pas bon d'office.
 

Code :
  1. #include <sstream>
  2. #include <string>
  3. #include <iostream>
  4. #include <iterator>
  5. namespace
  6. {
  7.   std::string read_all(std::istream &in)
  8.   {
  9.     std::ostringstream buf;
  10.     buf << in.rdbuf();
  11.     return buf.str();
  12.   }
  13. }
  14. int main()
  15. {
  16.   std::string content = read_all(std::cin);
  17.   std::istringstream input(content);
  18.   if (!input) {
  19.     std::cerr << "Bad input!\n" << content;
  20.     return 1;
  21.   }
  22.   else {
  23.     typedef std::istream_iterator<std::string> In;
  24.     typedef std::ostream_iterator<std::string> Out;
  25.     std::copy(In(input), In(), Out(std::cout, ", " ));
  26.     std::cout << '\n';
  27.   }
  28. }


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

  lecture d'un istringstream , recuperer l'erreur

 

Sujets relatifs
Récupérer une URL en PHP contenue dans une pageRécupérer index des éléments différents de 0
Problème de select qui sors en erreurRecupérer le code lang locale iso 639 (fr_FR) avec std::locale
[VBA Visio 2010] Récupérer des données de formes(VBA) excel 2003 erreur 1004
[PERL] Récupérer des données dans un fichier txtprobleme lecture swf flash cs6
Overflow (erreur N°6) sur méthode de box-muller/monte-carlo awk: lecture d'un fichier par un autre fichier
Plus de sujets relatifs à : lecture d'un istringstream , recuperer l'erreur


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