檔案流讀寫問題彙總

2021-08-28 05:28:12 字數 935 閱讀 1115

1.流的三種形態(均是char組成的,流物件不支援複製操作,因此不能儲存在vector 物件中):

控制台流物件-  istream - ostream -iostream;

檔案流物件----  fstream -ifstream,ofstream;

字串流物件-  stringstream-istringstream-ostringstream;

2.流物件的條件狀態:由於記錄讀寫過程中是否發生錯誤,其型別為iostate, 常用的有三種取值:

badbit: 系統發生不可修復錯誤

failbit: 此流錯誤可修復

eofbit: 達到檔案末尾

3.成員函式用於獲取或設定其條件狀態:

.bad(), s.fail(), s.eof(), 若以上三個函式返回值都為false, s.good()返回true, 此外

s.clear(): 將條件重設為有效狀態

s.setstate(): 設定某個條件狀態,以表示某個問題的發生

s.rdstate(): 返回乙個 iostate 型別值,該值對應於流當前的整個條件狀態

4.流物件使用細節:

每個流物件管理乙個輸出緩衝區,執行輸出操作時先將資料輸出到輸出緩衝區中,要重新整理緩衝區才能將資料寫入到真是的輸出裝置或檔案,有以下幾種方法可以重新整理緩衝區:

程式正常結束。作為 main 返回工作的一部分,將清空所有輸出緩衝區。

在一些不確定的時候,緩衝區可能已經滿了,在這種情況下,緩衝區將會在寫下乙個值之前重新整理。

用操縱符顯式地重新整理緩衝區,例如行結束符 endl。

在每次輸出操作執行完後,用 unitbuf 操作符設定流的內部狀態,從而清空緩衝區。

可將輸出流與輸入流關聯(tie)起來。在這種情況下,在讀輸入流時將重新整理其關聯的輸出緩衝區(常用在互動式系統下,確保給使用者的提示在讀取使用者的輸入之前都已輸出)。

原始檔鏈結

讀寫檔案流

1.讀檔案流 1 char fgets char buf,n file fp 從檔案流讀1行 包括換行符 如果n大於一行檔案的字元數 到buf。從檔案中讀取至多n 1個字元 n用來指定字元數 並把它們放入buf指向的字串中,在讀入之後自動向字串未尾加乙個空字元,成功 返回buf指標,失敗或讀到檔案尾...

golang 檔案讀寫彙總

檔案開啟os.open 返回唯讀模式的檔案描述符 os.openfile 0666 o rdonly 唯讀模式 read only o wronly 只寫模式 write only o rdwr 讀寫模式 read write o create 檔案不存在就建立 create a new file ...

利用檔案流讀寫檔案

掌握文字檔案讀寫的方法 了解二進位制檔案的讀寫方法 c 檔案流 fstream 檔案流 ifstream 輸入檔案流,用於讀檔案 從檔案中讀取資訊 ofstream 輸出檔案流,用於寫檔案 把資訊寫到檔案中 建立乙個文字檔案並寫入資訊 同向螢幕上輸出資訊一樣將資訊輸出至檔案 include incl...