Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

"Vider" un objet ostringstream

3 réponses
Avatar
jul
Salut =E0 tous,

La STL fournit une classe tr=E8s pratique : ostringstream. Mais un petit
point me chiffonne : j'aimerai pouvoir r=E9utiliser (simple confort) un
objet ostringstream, et pour cela il faudrait le "vider". Je donne un
exemple :

ostringstream os;
string s1, s2;

os << "ABC" << "EFG"; // simple exemple : c'est plus
// complexe en pratique !
s1 =3D os.str(); // s1 =3D "ABCEFG"

// ici j'aimerai "vider" os.

os << "IJK" << "LMN"; // toujours juste un exemple.
s2 =3D os.str(); // j'aimerai s2 =3D "IJKLMN" et non
// s2 =3D "ABCEFGIJKLMN"

Est-ce possible ? Si oui, comment ?

Merci

Jul.

3 réponses

Avatar
Arnaud Meurgues
jul wrote:

ostringstream os;
// ici j'aimerai "vider" os.

Est-ce possible ? Si oui, comment ?


Il me semble que

os.rdbuf()->str("");

devrait marcher, non ?

--
Arnaud

Avatar
Cyrille
Salut à tous,

La STL fournit une classe très pratique : ostringstream. Mais un petit
point me chiffonne : j'aimerai pouvoir réutiliser (simple confort) un
objet ostringstream, et pour cela il faudrait le "vider". Je donne un
exemple :
/snip
Est-ce possible ? Si oui, comment ?


Si je ne me trompe pas:

os.str("");

remplace la séquence contenue dans 'os' par "".

--
C'est ma signature qu'elle est la mieux. Pas la vôtre.

Avatar
jul
Je vais essayer les deux possbilités.
Merci.

Jul.