国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++ Primer 筆記-第8章 IO庫

2022-12-10 20:58 作者:Code有毒  | 我要投稿

8.1 IO 類

  1. iostream?定義了用于讀寫流的基本類型。fstream?定義了讀寫命名文件的類型。sstream?定義了讀寫內(nèi)存?string?對象的類型。

  2. 為了支持使用寬字符的語言,標準庫定義了一組類型和對象來操作?wchar_t?類型的數(shù)據(jù)。寬字符版本的類型和函數(shù)的名字以?w?開始,例如?wcin, wcout?等。

8.1.1 IO 對象無拷貝或賦值

  1. 不能將形參或返回類型設置為流類型。

  2. 進行 IO 操作的函數(shù)通常以引用方式傳遞和返回流。

  3. 傳遞和返回的引用不能是?const?的。

8.1.2 條件狀態(tài)

  1. 由于流可能處于錯誤狀態(tài),因此代碼通常應該在使用一個流之前檢查它是處于良好狀態(tài),最簡單的方法是將它當作一個?條件?來使用。

  2. IO 庫定義了一個與機器無關(guān)的?iostate?類型,它提供了表達流狀態(tài)的完整功能。這個類型應作為一個?位集合?來使用。

  3. IO 庫定義了 4 個?iostate?類型的?constexpr?值(strm::badbit, strm::failbit, strm::eofbit, strm::goodbit),表示特定的位模式。這些值用來表示特定類型的 IO 條件,可以與位運算符一起使用來一次性檢測或設置多個標志位。

  4. badbit?表示系統(tǒng)級錯誤,如不可恢復的讀寫錯誤。通常情況下一旦?badbit?被置位,流就無法再使用了。

  5. 在發(fā)生可恢復錯誤后?failbit?被置位,如期望讀取數(shù)值卻讀出一個字符等錯誤。這中問題通常是可以修正的,流還可以繼續(xù)使用。

  6. 如果到達文結(jié)束位置,eofbit?和?failbit?都會被置位。

  7. goodbit?的值為 0 表示流未發(fā)生錯誤,如果?badbit、failbiteofbit?任一個被置位,則檢測流狀態(tài)的條件會失敗。

  8. 流對象的?rdstate?成員返回一個?iostate?值,對應流的當前狀態(tài)。

  9. setstate?操作將給定條件位置位,表示發(fā)生了對應錯誤。

  10. clear?不接受參數(shù)的版本清除(復位)所有錯誤標識位。帶參數(shù)的版本接受一個?iostate?值,表示流的新狀態(tài)。

8.1.3 管理輸出緩沖

  1. 每一個輸出流都管理一個緩沖區(qū),用來保存程序讀寫的數(shù)據(jù)。

  2. endl?完成換行并刷新緩沖區(qū)的工作;flush?刷新緩沖區(qū)但不輸出任何額外的字符;ends?向緩沖區(qū)插入一個空字符,然后刷新緩沖區(qū)。

  3. 使用?unitbuf?告訴流在接下來的每次寫操作之后都進行一次?flush?操作(每次輸出操作后都刷新緩沖區(qū));使用?nounitbuf?則重置流使其恢復使用正常的系統(tǒng)管理的緩沖區(qū)刷新機制。

  4. 如果程序異常終止,輸出緩沖區(qū)是不會被刷新的。當調(diào)試崩潰程序時實際上代碼已經(jīng)執(zhí)行了,只是程序崩潰后緩沖區(qū)沒有被刷新,輸出數(shù)據(jù)被掛起沒有打印而已。

  5. 當一個輸入流被關(guān)聯(lián)到一個輸出流時,任何試圖從輸入流讀取數(shù)據(jù)的操作都會先刷新關(guān)聯(lián)的輸出流。標準庫將?cout?和?cin?關(guān)聯(lián)在一起。

  6. 每個流同時最多只能關(guān)聯(lián)到一個流,但多個流可以同時關(guān)聯(lián)到同一個?ostream。

8.2 文件輸入輸出

8.2.1 使用文件流對象

  1. 當一個?fstream?對象被銷毀時,close?會自動被調(diào)用。

8.2.2 文件模式

  1. 保留?ofstream?打開的文件中已有數(shù)據(jù)的唯一方法是顯示指定?app?或?in?模式。


C++ Primer 筆記-第8章 IO庫的評論 (共 條)

分享到微博請遵守國家法律
乐清市| 扶余县| 荃湾区| 菏泽市| 英山县| 上饶县| 科技| 阆中市| 会同县| 宁河县| 长寿区| 开阳县| 康保县| 新安县| 镇安县| 丰镇市| 陆丰市| 安多县| 兰溪市| 昌图县| 永新县| 靖西县| 宁河县| 大厂| 克山县| 太和县| 涟源市| 遂宁市| 元江| 长子县| 淮安市| 芜湖县| 建瓯市| 萍乡市| 信丰县| 通州区| 新源县| 北京市| 瓦房店市| 兖州市| 南乐县|