std::istrstream:: istrstream
From cppreference.net
<
cpp
|
io
|
istrstream
|
explicit
istrstream
(
const
char
*
s
)
;
|
(1) |
(veraltet in C++98)
(entfernt in C++26) |
|
explicit
istrstream
(
char
*
s
)
;
|
(2) |
(veraltet in C++98)
(entfernt in C++26) |
|
istrstream
(
const
char
*
s,
std::
streamsize
n
)
;
|
(3) |
(veraltet in C++98)
(entfernt in C++26) |
|
istrstream
(
char
*
s,
std::
streamsize
n
)
;
|
(4) |
(veraltet in C++98)
(entfernt in C++26) |
Konstruiert einen neuen std::istrstream und seinen zugrundeliegenden std::strstreambuf .
1,2)
Konstruiert den zugrundeliegenden
std::strstreambuf
durch Aufruf von
strstreambuf
(
s,
0
)
und initialisiert die Basisklasse mit der Adresse des
strstreambuf
. Das Verhalten ist undefiniert, wenn
s
nicht auf ein Element eines nullterminierten Arrays zeigt.
3,4)
Konstruiert den zugrundeliegenden
std::strstreambuf
durch Aufruf von
strstreambuf
(
s, n
)
und initialisiert die Basisklasse mit der Adresse des
strstreambuf
. Das Verhalten ist undefiniert, wenn
s
nicht auf ein Element eines Arrays zeigt, dessen Länge mindestens
n
Elemente beträgt.
Parameter
| s | - | C-String oder Char-Array, das als Inhalt des Streams verwendet wird |
| n | - | Größe des Arrays |
Beispiel
Diesen Code ausführen
#include <iostream> #include <strstream> int main() { std::istrstream s1("1 2 3"); // String-Literal int n1, n2, n3; if (s1 >> n1 >> n2 >> n3) std::cout << n1 << ", " << n2 << ", " << n3 << '\n'; char arr[] = {'4', ' ', '5', ' ', '6'}; std::istrstream s2(arr, sizeof arr); if (s2 >> n1 >> n2 >> n3) std::cout << n1 << ", " << n2 << ", " << n3 << '\n'; }
Ausgabe:
1, 2, 3 4, 5, 6
Siehe auch
Konstruiert ein
strstreambuf
Objekt
(öffentliche Elementfunktion von
std::strstreambuf
)
|
|
Konstruiert ein
ostrstream
Objekt, optional mit Puffer-Allokation
(öffentliche Elementfunktion von
std::ostrstream
)
|
|
Konstruiert ein
strstream
Objekt, optional mit Puffer-Allokation
(öffentliche Elementfunktion von
std::strstream
)
|