Bonjour,

[Désolé j'aurais du mettre ce message dans le sous-forum STL].

J'ai une question à propos de istringstream et de l'équivalent de sscanf en c++

La chaîne de caractère que je cherche à décoder est du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
"texte1=<valeur1>\r\n
texte2=<valeur2>\r\n
texte3=<valeur3>\r\n"
dans ce cas, comment faire, car :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
std::string dummy;
 
	if(!(iss >> dummy >> var1 >> dummy >> var2 >> dummy >> var3))
	{
//...
}
Ne fonctionne pas, je me retrouve avec dummy qui contient toute la ligne.

Existe-t-il des modificateurs de istringstream qui me permettent de faire ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sscanf(buff,"texte1=%f\r\ntexte2=%f\r\ntexte3=%d\r\n", ...);
?
Merci.


PS : il y a une méthode qui fonctionne c'est d'utiliser des char, mais c'est illisible, et pas joli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
char dummy;
 
	if(!(iss >> dummy >> dummy >> dummy >> dummy >>dummy >>dummy >>dummy >> var1 
>> dummy >>dummy >>dummy >>dummy >>dummy >>dummy >>dummy >> var2 
>>dummy >>dummy >>dummy >>dummy >>dummy >>dummy >>dummy >>var3))
	{
//...
}