std::strstreambuf:: str
|
char
*
str
(
)
;
|
(veraltet in C++98)
(entfernt in C++26) |
|
Ruft freeze() auf und gibt dann eine Kopie des Startzeigers des Lesebereichs zurück, std::streambuf::eback() .
Der Beginn des Get-Bereichs, für alle beschreibbaren
std::strstreambuf
-Objekte, die durch die Schnittstelle von
std::strstream
erstellt wurden, ist ebenfalls der Beginn des Put-Bereichs.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
Eine Kopie von eback() , die ein Nullzeiger sein kann.
Hinweise
Diese Funktion wird typischerweise über die std::strstream Schnittstelle aufgerufen.
Der Aufruf von
freeze()
garantiert, dass der zurückgegebene Zeiger bis zum nächsten expliziten Aufruf von
freeze
(
false
)
gültig bleibt: Andernfalls (bei einem dynamischen Puffer) könnte jede Ausgabeoperation eine Pufferneuzuordnung auslösen, die den Zeiger ungültig machen würde. Es verursacht auch einen Speicherverlust im Destruktor von
std::strstreambuf
, es sei denn,
freeze
(
false
)
wird aufgerufen, bevor der Puffer (oder häufiger, der
std::
strstream
, der ihn verwaltet) zerstört wird.
Beispiel
#include <iostream> #include <strstream> int main() { std::strstream dyn; // dynamisch allozierter Lese-/Schreibpuffer dyn << "Test: " << 1.23 << std::ends; std::strstreambuf* buf = dyn.rdbuf(); std::cout << "R/W buffer holds [" << buf->str() // oder dyn.str() << "]\n"; dyn.freeze(false); // nach Aufruf von .str() auf einem dynamischen strstream char arr[10]; std::ostrstream user(arr, 10); // festgroßer Nur-Schreib-Puffer buf = user.rdbuf(); user << 1.23 << std::ends; std::cout << "Write-only buffer holds [" << buf->str() // oder user.str() << "]\n"; std::istrstream lit("1 2 3"); // festgroßer Nur-Lese-Puffer buf = lit.rdbuf(); std::cout << "Read-only buffer holds [" << buf->str() // oder lit.str() << "]\n"; }
Ausgabe:
R/W buffer holds [Test: 1.23] Write-only buffer holds [1.23] Read-only buffer holds [1 2 31 2 3]
Siehe auch
|
greift auf den Ausgabepuffer zu
(öffentliche Elementfunktion von
std::strstream
)
|
|
|
greift auf den Ausgabepuffer zu
(öffentliche Elementfunktion von
std::ostrstream
)
|
|
|
greift auf den Ausgabepuffer zu
(öffentliche Elementfunktion von
std::istrstream
)
|