std::strstreambuf:: pcount
From cppreference.net
<
cpp
|
io
|
strstreambuf
|
int
pcount
(
)
const
;
|
(obsolète en C++98)
(supprimé en C++26) |
|
Retourne le nombre de caractères écrits dans la séquence de sortie.
Si le pointeur suivant pour la zone de mise en place ( std::streambuf::pptr() ) est un pointeur nul, retourne zéro.
Sinon, retourne le pointeur suivant dans la zone de mise moins le pointeur de début dans la zone de mise, c'est-à-dire pptr ( ) - pbase ( ) .
Table des matières |
Paramètres
(aucun)
Valeur de retour
Le nombre de caractères écrits dans la zone de sortie.
Exemple
Exécuter ce code
#include <iostream> #include <strstream> int main() { std::strstream dyn; // tampon de sortie alloué dynamiquement dyn << "Test: " << 1.23 << std::ends; std::strstreambuf* buf = dyn.rdbuf(); std::cout << "La taille de la sortie est " << buf->pcount() // ou simplement buf.pcount() << " et elle contient \"" << dyn.str() << "\"\n"; dyn.freeze(false); // après l'appel à .str() sur un strstream dynamique char arr[10]; std::ostrstream user(arr, 10); // tampon de sortie fourni par l'utilisateur buf = user.rdbuf(); user << 1.23; // note : pas de std::ends std::cout.write(arr, buf->pcount()); // ou simplement user.pcount() std::cout << '\n'; std::istrstream lit("1 2 3"); // tampon fixe en lecture seule buf = lit.rdbuf(); // istrstream n'a pas de fonction membre pcount(), donc lit.pcount() ne fonctionnera pas std::cout << "pcount() en entrée seule = " << buf->pcount() << '\n'; }
Sortie :
La taille de la sortie est 11 et elle contient "Test: 1.23" 1.23 pcount() en entrée seule = 0
Voir aussi
|
obtient le nombre de caractères écrits
(fonction membre publique de
std::strstream
)
|
|
|
obtient le nombre de caractères écrits
(fonction membre publique de
std::ostrstream
)
|