[Resolu]erreur de base avec une stringstream

erreur de base avec une stringstream [Resolu] - C++ - Programmation

Marsh Posté le 25-03-2004 à 21:26:59    

Je comprends pas pourquoi le code ci-dessous ne fonctionne pas, il y a un truc évident que j'ai pas du faire correctement mais je vois pas, si quelqu'un pouvait me le dire ca serait sympa :

Code :
  1. string idref = "";
  2. istringstream idrefstream("@IO1@" );
  3. idrefstream>>"@">>idref>>"@";
  4. cout<<idref<<endl;


Message édité par bobmorton le 25-03-2004 à 21:58:43
Reply

Marsh Posté le 25-03-2004 à 21:26:59   

Reply

Marsh Posté le 25-03-2004 à 21:37:10    

--> idrefstream>>"@">>idref>>"@";  
 
Je sais pas ce que tu veux faire, mais là, c'est surement faux...
A+,


Message édité par gilou le 25-03-2004 à 21:37:27
Reply

Marsh Posté le 25-03-2004 à 21:38:49    

gilou a écrit :

--> idrefstream>>"@">>idref>>"@";  
 
Je sais pas ce que tu veux faire, mais là, c'est surement faux...
A+,


ba je veux recuperer ce qui se trouve entre les 2 @ en fait, mais il me semblait que c'etait possible d'enchainer plusieurs fois l'opérateur >>


Message édité par bobmorton le 25-03-2004 à 21:40:31
Reply

Marsh Posté le 25-03-2004 à 21:41:03    

Code :
  1. string idref;
  2. char dummy;
  3. istringstream idrefstream("@IO1@" );
  4. idrefstream >> dummy >> idref ;
  5. cout << idref << endl;

Reply

Marsh Posté le 25-03-2004 à 21:46:43    

joel f a écrit :

Code :
  1. string idref;
  2. char dummy;
  3. istringstream idrefstream("@IO1@" );
  4. idrefstream >> dummy >> idref ;
  5. cout << idref << endl;




merci bien pour ton aide mais il me reste encore le 2eme @ derriere avec ta soluce et ajouter un 2eme caractere derriere le idref :

Code :
  1. idrefstream >> dummy >> idref >>dummy


ne change rien, j'ai encore le dernier @


Message édité par bobmorton le 25-03-2004 à 21:47:17
Reply

Marsh Posté le 25-03-2004 à 21:47:59    

Meme là, tu vires le premier @, mais tu vires pas le dernier...
EDIT: j'etais en train de le taper quand tu l'as constate.
 
A+,


Message édité par gilou le 25-03-2004 à 21:48:59
Reply

Marsh Posté le 25-03-2004 à 21:57:41    

merci a tous j'ai fini par le faire ainsi :

Code :
  1. string idref = "@IO1@";
  2. idref.erase(0,1);
  3. idref.erase(idref.size()-1,idref.size());


ca n'a plus rien a voir avec les stream et c tant mieux...


Message édité par bobmorton le 25-03-2004 à 21:58:12
Reply

Sujets relatifs:

Leave a Replay

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