explicit istrstream( const char* s ); | (1) | |
explicit istrstream( char* s ); | (2) | |
istrstream( const char* s, std::streamsize n ); | (3) | |
istrstream( char* s, std::streamsize n ); | (4) |
Constructs new std::istrstream
and its underlying std::strstreambuf
.
std::strstreambuf
by calling strstreambuf(s,0)
and initializes the base class with the address of the strstreambuf. The behavior is undefined if s
is not pointing at an element of a null-terminated array.std::strstreambuf
by calling strstreambuf(s,n)
and initializes the base class with the address of the strstreambuf. The behavior is undefined if s
is not pointing at an element of an array whose length is at least n
elements.s | - | C-string or char array to use as the contents of the stream |
n | - | size of the array |
#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'; }
Output:
1, 2, 3 4, 5, 6
constructs a strstreambuf object (public member function of std::strstreambuf ) |
|
constructs an ostrstream object, optionally allocating the buffer (public member function of std::ostrstream ) |
|
constructs a strstream object, optionally allocating the buffer (public member function of std::strstream ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/istrstream/istrstream