今天在看别人的C++程式源碼的時候,看到了一個比較有用的C++的輸入輸出控制類。因為之前沒有使用過,故特地學習了一下,在此總結。
程式源碼中使用了這樣的語句:
ifstream fin(fname);
int a,b,c;
string s;
getline(fin, s);
istringstream ss(s);
ss >> a>>b>>c;
将讀入的一行中的三個整數存儲到了a, b, c中。
查了一下相關文檔:C++引入了ostringstream、istringstream、stringstream這三個類,要使用他們建立對象就必須包含<sstream>這個頭檔案。
istringstream類用于執行C++風格的串流的輸入操作。
ostringstream類用于執行C風格的串流的輸出操作。
strstream類同時可以支援C風格的串流的輸入輸出操作。
istringstream的構造函數原形如下:
istringstream::istringstream(string str);
它的作用是從string對象str中讀取字元。
#include<iostream>
#include<sstream> //istringstream 必須包含這個頭檔案
#include<string>
using namespace std;
int main()
{
string str="i am a boy";
istringstream is(str);
string s;
while(is>>s)
{
cout<<s<<endl;
}
}
輸出是:
i
am
a
boy