std::strstreambuf:: pcount
From cppreference.net
<
cpp
|
io
|
strstreambuf
|
int
pcount
(
)
const
;
|
(in C++98 veraltet)
(in C++26 entfernt) |
|
Gibt die Anzahl der in die Ausgabesequenz geschriebenen Zeichen zurück.
Wenn der nächste Zeiger für den Put-Bereich ( std::streambuf::pptr() ) ein Nullzeiger ist, gibt null zurück.
Andernfalls wird der nächste Zeiger im Put-Bereich minus dem Anfangszeiger im Put-Bereich zurückgegeben, das heißt pptr ( ) - pbase ( ) .
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
Die Anzahl der Zeichen, die in den Put-Bereich geschrieben wurden.
Beispiel
Diesen Code ausführen
#include <iostream> #include <strstream> int main() { std::strstream dyn; // dynamisch allozierter Ausgabepuffer dyn << "Test: " << 1.23 << std::ends; std::strstreambuf* buf = dyn.rdbuf(); std::cout << "Die Größe der Ausgabe ist " << buf->pcount() // oder einfach buf.pcount() << " und sie enthält \"" << dyn.str() << "\"\n"; dyn.freeze(false); // nach Aufruf von .str() auf einem dynamischen strstream char arr[10]; std::ostrstream user(arr, 10); // benutzerdefinierter Ausgabepuffer buf = user.rdbuf(); user << 1.23; // Hinweis: kein std::ends std::cout.write(arr, buf->pcount()); // oder einfach user.pcount() std::cout << '\n'; std::istrstream lit("1 2 3"); // schreibgeschützter Festgrößenpuffer buf = lit.rdbuf(); // istrstream hat keine pcount()-Memberfunktion, daher funktioniert lit.pcount() nicht std::cout << "Nur-Eingabe pcount() = " << buf->pcount() << '\n'; }
Ausgabe:
Die Größe der Ausgabe ist 11 und sie enthält "Test: 1.23" 1.23 Nur-Eingabe pcount() = 0
Siehe auch
|
ermittelt die Anzahl der geschriebenen Zeichen
(öffentliche Elementfunktion von
std::strstream
)
|
|
|
ermittelt die Anzahl der geschriebenen Zeichen
(öffentliche Elementfunktion von
std::ostrstream
)
|