考試大編輯整理C++編程知識(shí)
輸出主要由重載的左移操作符(<<)來(lái)完成,輸入主要由重載的右移操作符(>>)完成。
>>a表示將數(shù)據(jù)放入a對(duì)象中。
<
接下來(lái)我們繼續(xù)看一下C++風(fēng)格的串流控制,C++引入了ostringstream、istringstream、stringstream這三個(gè)類,要使用他們創(chuàng)建對(duì)象就必須包含sstream.h頭文件。
istringstream類用于執(zhí)行C++風(fēng)格的串流的輸入操作。
stringstream類同時(shí)可以支持C++風(fēng)格的串流的輸入輸出操作。
strstream類同時(shí)可以支持C風(fēng)格的串流的輸入輸出操作。
istringstream類是從istream(輸入流類)和stringstreambase(c++字符串流基類)派生而來(lái),ostringstream是從ostream(輸出
流類)和stringstreambase(c++字符串流基類)派生而來(lái),stringstream則是從iostream(輸入輸出流類)和和stringstreambase(
c++字符串流基類)派生而來(lái)。
istringstream是由一個(gè)string對(duì)象構(gòu)造而來(lái),istringstream類從一個(gè)string對(duì)象讀取字符。
istringstream的構(gòu)造函數(shù)原形如下:
istringstream::istringstream(string str);
#include
#include
using namespace std;
int main()
{
istringstream istr;
istr.str(\"1 56.7\");
//上述兩個(gè)過(guò)程可以簡(jiǎn)單寫成 istringstream istr(\"1 56.7\");
cout << istr.str()<
int a;
float b;
istr>>a;
cout<
istr>>b;
cout<
system(\"pause\");
}
上例中,構(gòu)造字符串流的時(shí)候,空格會(huì)成為字符串參數(shù)的內(nèi)部分界,例子中對(duì)a,b對(duì)象的輸入\"賦值\"操作證明了這一點(diǎn),字符串的空格成為了整型數(shù)據(jù)與浮點(diǎn)型數(shù)據(jù)的分解點(diǎn),利用分界獲取的方法我們事實(shí)上完成了字符串到整型對(duì)象與浮點(diǎn)型對(duì)象的拆分轉(zhuǎn)換過(guò)程 。
str()成員函數(shù)的使用可以讓istringstream對(duì)象返回一個(gè)string字符串(例如本例中的輸出操作(cout <
ostringstream同樣是由一個(gè)string對(duì)象構(gòu)造而來(lái),ostringstream類向一個(gè)string插入字符。
ostringstream的構(gòu)造函數(shù)原形如下:
ostringstream::ostringstream(string str);
示例代碼如下:
#include
#include
#include
using namespace std;
int main()
{
ostringstream ostr;
//ostr.str(\"abc\");//如果構(gòu)造的時(shí)候設(shè)置了字符串參數(shù),那么增長(zhǎng)操作的時(shí)候不會(huì)從結(jié)尾開始增加,而是修改原有數(shù)據(jù),超出的部分增長(zhǎng)
ostr.put(’d’);
ostr.put(’e’);
輸出主要由重載的左移操作符(<<)來(lái)完成,輸入主要由重載的右移操作符(>>)完成。
>>a表示將數(shù)據(jù)放入a對(duì)象中。
<
接下來(lái)我們繼續(xù)看一下C++風(fēng)格的串流控制,C++引入了ostringstream、istringstream、stringstream這三個(gè)類,要使用他們創(chuàng)建對(duì)象就必須包含sstream.h頭文件。
istringstream類用于執(zhí)行C++風(fēng)格的串流的輸入操作。
stringstream類同時(shí)可以支持C++風(fēng)格的串流的輸入輸出操作。
strstream類同時(shí)可以支持C風(fēng)格的串流的輸入輸出操作。
istringstream類是從istream(輸入流類)和stringstreambase(c++字符串流基類)派生而來(lái),ostringstream是從ostream(輸出
流類)和stringstreambase(c++字符串流基類)派生而來(lái),stringstream則是從iostream(輸入輸出流類)和和stringstreambase(
c++字符串流基類)派生而來(lái)。
istringstream是由一個(gè)string對(duì)象構(gòu)造而來(lái),istringstream類從一個(gè)string對(duì)象讀取字符。
istringstream的構(gòu)造函數(shù)原形如下:
istringstream::istringstream(string str);
#include
#include
using namespace std;
int main()
{
istringstream istr;
istr.str(\"1 56.7\");
//上述兩個(gè)過(guò)程可以簡(jiǎn)單寫成 istringstream istr(\"1 56.7\");
cout << istr.str()<
int a;
float b;
istr>>a;
cout<
istr>>b;
cout<
system(\"pause\");
}
上例中,構(gòu)造字符串流的時(shí)候,空格會(huì)成為字符串參數(shù)的內(nèi)部分界,例子中對(duì)a,b對(duì)象的輸入\"賦值\"操作證明了這一點(diǎn),字符串的空格成為了整型數(shù)據(jù)與浮點(diǎn)型數(shù)據(jù)的分解點(diǎn),利用分界獲取的方法我們事實(shí)上完成了字符串到整型對(duì)象與浮點(diǎn)型對(duì)象的拆分轉(zhuǎn)換過(guò)程 。
str()成員函數(shù)的使用可以讓istringstream對(duì)象返回一個(gè)string字符串(例如本例中的輸出操作(cout <
ostringstream同樣是由一個(gè)string對(duì)象構(gòu)造而來(lái),ostringstream類向一個(gè)string插入字符。
ostringstream的構(gòu)造函數(shù)原形如下:
ostringstream::ostringstream(string str);
示例代碼如下:
#include
#include
#include
using namespace std;
int main()
{
ostringstream ostr;
//ostr.str(\"abc\");//如果構(gòu)造的時(shí)候設(shè)置了字符串參數(shù),那么增長(zhǎng)操作的時(shí)候不會(huì)從結(jié)尾開始增加,而是修改原有數(shù)據(jù),超出的部分增長(zhǎng)
ostr.put(’d’);
ostr.put(’e’);

