it-swarm-eu.dev

Taille du stringstream

Existe-t-il un moyen direct de calculer la taille de la chaîne interne dans le flux de chaînes?

Ici, str() renvoie une copie, puis il obtient la taille de la chaîne.

std::stringstream oss("String");
oss.str().size();
33
user963241
std::stringstream oss("String");
oss.seekp(0, ios::end);
stringstream::pos_type offset = oss.tellp();

Il s'agit du pointeur d'écriture, mais le résultat est le même pour le pointeur de lecture sur Visual C++ v10.

19
Steve Townsend

Il y a:

std::stringstream oss("Foo");
oss.seekg(0, ios::end);
int size = oss.tellg();

Maintenant, taille contiendra la taille (en octets) de la chaîne.

ÉDITER:

C'est également une bonne idée de mettre après l'extrait ci-dessus car il remet le pointeur interne au début de la chaîne.

oss.seekg(0, ios::beg);
50
vanneto