C Primer 第八章 IO庫

2021-09-27 03:38:50 字數 1492 閱讀 4813

1.3 管理輸出緩衝

2. 檔案輸入輸出

2.2 檔案模式

3. string

標準庫的核心就是很多容器和一族泛型演算法,這些設施幫助我們編寫簡潔高效的程式。標準庫會關注那些薄記操作的細節,特別是記憶體管理,這樣我們的程式就可以將全部的注意力投入到需要解決的問題上。

io庫定義了讀寫內建型別值的操作。

此外,一些類,如string,通常也會定義類似的io操作,來讀寫自己的物件

其他io型別:

iostream

fstream

sstream

讀寫流的基本型別

讀寫檔案的型別

讀寫記憶體string物件的型別

確定乙個流物件的狀態的簡單方法就是將它當作乙個條件來使用:

while(cin >> word)

//ok: 讀操作成功

io庫定義了乙個域機器無關的iostate型別,提供考慮表達流狀態的完整功能。

rdstate

setstate

每個輸出流都管理乙個緩衝區,用來儲存程式讀寫的資料

每次輸出操作後都重新整理緩衝區

當乙個輸入流被關聯到輸出流後,每個試圖從輸入流讀取資料的操作都會先重新整理關聯的輸出流

fstream定義了三個型別來支援io:

ifstream

ofstream

fstream

從乙個給定檔案讀取資料

向乙個給定的檔案輸入資料

讀寫給定檔案

要讀寫乙個檔案時

先定義乙個檔案流物件

並將物件和檔案關聯起來

每個檔案流都定義了乙個名為open的成員函式,完成一系列的相關的操作,來定位給定的檔案,並視情況開啟為讀或寫模式

定義乙個空檔案流物件,可以隨後呼叫open來將它和檔案關聯起來:

ifstream in(ifile); //構建乙個ifstream並開啟指定檔案,定義乙個輸入流

ostream out; //輸出檔案流未與任何檔案相關聯

out.open(ifile + ".copy"); // 開啟指定檔案

in.close(ifile); //關閉檔案

in.open(ifile + "2");//開啟另外乙個檔案

每個流都有乙個關聯的檔案模式(file mode),用來指出如何使用檔案。

通常情況下 out 模式意味著同時使用 trunc 模式

sstream定義了三個型別來支援記憶體io:

istringstream

ostringstream

stringstream

從string讀取資料

向string 寫入資料

既可讀又可寫

c primer 第八章 IO庫

1.常用的io庫設施 istream型別,提供輸入操作 ostream型別,提供輸出操作 cin,乙個istream物件,從標準輸入讀資料 cout,乙個ostream物件,向標準輸出寫入資料 cerr,乙個ostream物件,向標準錯誤寫資訊。從乙個istream物件讀資料 向乙個ostream物...

C Primer 筆記 第八章 IO庫

io物件無拷貝和賦值。unitbuf 使接下來每次輸出操作後都重新整理緩衝區,之後用 nounnitbuf 取消。輸入流與輸出流關聯時,任何試圖從輸入流讀取資料的操作都會重新整理它所關聯的輸出流。ostream old cin.tie nullptr 這句語句將 cin 原來關聯的輸出流存入 old...

C primer 第八章IO庫 小結

1 io物件無拷貝或賦值函式 2 條件狀態 將流當作條件使用的 就等價於 fail 而eof和bad操作只能表示特定的錯誤。3 管理條件狀態 可以通過儲存iostate來儲存cin狀態,當cin在其他函式使用完之後恢復。4 管理輸出緩衝 以下三種方式可以強制重新整理輸出緩衝 可通過cin.tie o...