1. 程式人生 > >C++中的 istringstream

C++中的 istringstream

今天在看別人的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