std::istrstream::istrstream
From cppreference.com
                    
                                        
                    < cpp | io | istrstream
                    
                                                            
                    |   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 istrstream and its underlying std::strstreambuf.
1,2) Constructs the underlying 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.
3,4) Constructs the underlying 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.[edit] Parameters
| s | - | C-string or char array to use as the contents of the stream | 
| n | - | size of the array | 
[edit] Example
Run this code
#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
[edit] See also
|   constructs a strstreambuf object  (public member function of std::strstreambuf) 
 | 
|
|   constructs an strstream, optionally allocating the buffer  (public member function of std::ostrstream) 
 | 
|
|   constructs an strstream, optionally allocating the buffer  (public member function of std::strstream) 
 | 
|