日誌 C++的iostream標準庫介紹

C++引入了ostringstream、istringstream、stringstream這三個類,要使用他們創建對象就必須包含sstream.h頭文件。

  istringstream類用於執行C++風格的串流的輸入操作。
  stringstream類同時可以支持C++風格的串流的輸入輸出操作。

  strstream類同時可以支持C風格的串流的輸入輸出操作。

  istringstream類是從istream(輸入流類)和stringstreambase(c++字符串流基類)派生而來,ostringstream是從ostream(輸出流類)和stringstreambase(c++字符串流基類)派生而來,stringstream則是從iostream(輸入輸出流類)和和stringstreambase(c++字符串流基類)派生而來。

  他們的繼承關係如下圖所示:

  istringstream是由一個string對象構造而來,istringstream類從一個string對象讀取字符。
  istringstream的構造函數原形如下:

  istringstream::istringstream(string str);

 #include <iostream
#include <sstream

using namespace
 std; 
int main
()  

istringstream istr; 
istr.str("1 56.7",); 
//上述兩個過程可以簡單寫成 istringstream istr("1 56.7"); 

cout
 << istr.str()<<endl; 
int
 a; 
float
 b; 
istr>>a; 
cout
<<a<<endl; 
istr>>b; 
cout
<<b<<endl; 
system("pause"); 
}

  上例中,構造字符串流的時候,空格會成爲字符串參數的內部分界,例子中對a,b對象的輸入"賦值"操作證明了這一點,字符串的空格成爲了整型數據與浮點型數據的分解點,利用分界獲取的方法我們事實上完成了字符串到整型對象與浮點型對象的拆分轉換過程。

  str()成員函數的使用可以讓istringstream對象返回一個string字符串(例如本例中的輸出操作(cout<<istr.str();)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章