📄 all.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <meta name="generator" content= "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org"> <title>C++ String Streams</title> <link href="../cppreference.css" rel="stylesheet" type="text/css"></head><body><table> <tr> <td> <div class="body-content"> <div class="header-box"> <a href="../index.html">cppreference.com</a> > <a href= "index.html">C++ String Streams</a> </div> <div class="name-format"> String Stream Constructors </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <sstream> stringstream() stringstream( openmode mode ) stringstream( string s, openmode mode ) ostringstream() ostringstream( openmode mode ) ostringstream( string s, openmode mode ) istringstream() istringstream( openmode mode ) istringstream( string s, openmode mode )</pre> <p>The stringstream, ostringstream, and istringstream objects are used for input and output to a string. They behave in a manner similar to fstream, ofstream and ifstream objects.</p> <p>The optional <em>mode</em> parameter defines how the file is to be opened, according to the <a href="../io_flags.html#mode_flags">io stream mode flags</a>.<p> <p>An ostringstream object can be used to write to a string. This is similar to the C <a href="../stdio/sprintf.html">sprintf()</a> function. For example:</p> <pre class="example-code"> ostringstream s1; int i = 22; s1 << "Hello " << i << endl; string s2 = s1.str(); cout << s2;</pre> <p>An istringstream object can be used to read from a string. This is similar to the C <a href="../stdio/sscanf.html">sscanf()</a> function. For example:</p> <pre class="example-code"> istringstream stream1; string string1 = "25"; stream1.str(string1); int i; stream1 >> i; cout << i << endl; // displays 25</pre> <p>You can also specify the input string in the istringstream constructor as in this example:</p> <pre class="example-code"> string string1 = "25"; istringstream stream1(string1); int i; stream1 >> i; cout << i << endl; // displays 25</pre> <p>A stringstream object can be used for both input and output to a string like an fstream object.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="../cppio/index.html">C++ I/O Streams</a><br> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> String Stream Operators </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <sstream> operator<< operator>></pre> <p>Like <a href="../cppio/index.html">C++ I/O Streams</a>, the simplest way to use string streams is to take advantage of the overloaded << and >> operators.</p> <p>The << operator inserts data into the stream. For example:</p> <pre class="example-code"> stream1 << "hello" << i;</pre> <p>This example inserts the string "hello" and the variable <i>i</i> into <i>stream1</i>. In contrast, the >> operator extracts data out of a string stream:</p> <pre class="example-code"> stream1 >> i;</pre> <p>This code reads a value from <i>stream1</i> and assigns the variable <i>i</i> that value.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="../cppio/index.html">C++ I/O Streams</a><br> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> rdbuf </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <sstream> stringbuf* rdbuf();</pre> <p>The <em>rdbuf()</em> function returns a pointer to the string buffer for the current string stream.</p> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="str.html">str()</a><br> <a href="../cppio/index.html">C++ I/O Streams</a><br> </div> </div> </td> </tr> </table></body></html><hr> <div class="name-format"> str </div> <div class="syntax-name-format"> Syntax: </div> <pre class="syntax-box"> #include <sstream> void str( string s ); string str();</pre> <p>The function <em>str()</em> can be used in two ways. First, it can be used to get a copy of the string that is being manipulated by the current stream string. This is most useful with output strings. For example:</p> <pre class="example-code"> ostringstream stream1; stream1 << "Testing!" << endl; cout << stream1.str();</pre> <p>Second, <em>str()</em> can be used to copy a string into the stream. This is most useful with input strings. For example:</p> <pre class="example-code"> istringstream stream1; string string1 = "25"; stream1.str(string1);</pre> <p><em>str()</em>, along with <em>clear()</em>, is also handy when you need to clear the stream so that it can be reused:</p> <pre class="example-code"> istringstream stream1; float num; // use it once string string1 = "25 1 3.235\n1111111\n222222"; stream1.str(string1); while( stream1 >> num ) cout << "num: " << num << endl; // displays numbers, one per line // use the same string stream again with clear() and str() string string2 = "1 2 3 4 5 6 7 8 9 10"; stream1.clear(); stream1.str(string2); while( stream1 >> num ) cout << "num: " << num << endl; // displays numbers, one per line</pre> <div class="related-name-format"> Related topics: </div> <div class="related-content"> <a href="rdbuf.html">rdbuf()</a><br> <a href="../cppio/index.html">C++ I/O Streams</a><br> </div> </div> </td> </tr> </table></body></html><hr></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -