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物件實現。
2. stringstream提供的轉換和/或格式化stringstream s("anders fan is learning c plus plus~");
string word;
while(s >> word)
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物件。對乙個程序...