第8章 標準IO庫 6

2021-06-02 03:13:48 字數 1090 閱讀 1097

8.5 字串流

iostream標準庫支援記憶體中輸入/輸出,只要將流與儲存在程式記憶體中的string物件**起來即可。此時,可使用iostream輸入和輸出操作符讀寫這個string物件。標準庫定義了三種型別的字串流:

istringstream, 由istream派生而來,提供讀string的功能。

ostringstream,由ostream派生而來,提供寫string的功能。

stringstream,由iostream派生而來,提供讀寫string的功能。

sstream型別除了繼承的操作外,還各自定義了乙個有string形參的建構函式,這個建構函式將string型別的實參複製給stringstream物件。對stringstream的讀寫操作實際上讀寫的就是該物件中的string物件。這些類還定義了名為str的成員,用來讀取或設定stringstream物件所操縱的string值。

stringstream strm;建立自由的stringstream物件

stringstream strm(s);建立儲存s的副本的stringstream物件,其中s是string型別的物件。

strm.str();返回strm中儲存的string型別物件。

strm.str(s);將string型別的s複製給strm,返回void。

1. stringstream物件的使用

如果要操縱每行中的每個單詞。可用stringstream物件實現。

stringstream s("anders fan is learning c plus plus~");

string word;

while(s >> word)

2. stringstream提供的轉換和/或格式化

stringstream物件的乙個常見語法是,需要在多種資料型別之間實現自動格式化時使用該類型別。

stringstream s;

s << 111 << 2.3 << "\n";

string dump;

s >> dump >> dump >> dump;

cout << dump;

第8章 標準IO庫

iostream繼承層次 istream和ostream是最上層,istream派生出ifstream和istringstream,ostream派生出ofstream和ostringstream。他們兩者共同派生出iostream。iostream派生出stringstream和fstream。標...

第8章 標準IO庫 2

8.2 條件狀態 io標準庫管理一系列條件狀態 condition state 成員,用來標記給定的io物件是否處於可用狀態,或者碰到了哪種特定的錯誤。strm iostate 機器相關的整型名,由各個iostream類定義,用於定義條件狀態。strm badbit strm iostate型別的值...

第5章 標準I O庫

當開啟乙個流時,標準i o函式fopen返回乙個指向file物件的指標。該物件通常是乙個結構,它包含了標準i o庫為管理該流所需要的所有資訊,包括 用於實現i o的檔案描述符 指向用於該流緩衝區的指標 緩衝區的長度 當前在緩衝區中的字元數以及出錯標誌等等。應用程式沒有必要檢驗file物件。對乙個程序...