C 檔案流操作 詳解

2021-08-27 21:32:26 字數 2316 閱讀 2928

c++系統中的i/o標準類都定義在iostream、fstream、strstream三個標頭檔案中,各位標頭檔案包含的類如下:

(1)、進行標準i/o操作時使用iostream標頭檔案,它包含ios、iostream、ostream等類。

(2)、進行檔案i/o操作時使用fstream標頭檔案,它包含fstream、istream、ostream等類。

(3)、進行串i/o操作時使用strstream標頭檔案,它包含strstream、istrstream、ostrstream。

1、檔案開啟

只有使用檔案流與磁碟上的檔案進行連線後才能對磁碟上的檔案進行操作,這個連線過程稱為開啟檔案。

開啟檔案的方式有兩種:

(1)、在建立檔案流時候利用建構函式開啟檔案:

《檔案流類》 《檔案流物件》 (《檔名及路徑》,《開啟方式》)

其中檔案流類根據需求可以有以下選擇:ifstream(輸入流)、ofstream(輸出流)、fstream(輸入輸出流),開啟方式有以下選擇:

- ios::in  -  以輸入方式開啟檔案,檔案不存在,則返回錯誤

- ios::out - 以輸出方式開啟檔案,檔案不存在,則建立檔案

- ios::ate -開啟已存在的檔案,檔案指標移動到檔案尾,可讀可寫

- ios::binary-以二進位制方式開啟檔案

- ios::trunc-開啟檔案進行寫操作,若檔案存在,則清空資料

- ios::nocreate-開啟已存在的檔案,若檔案不存在,則返回錯誤

- ios::noreplace-建立新檔案,如果檔案存在,建立失敗

(2)、利用open函式開啟檔案

《檔案流物件》.open (《檔名及路徑》,《開啟方式》)

檔案開啟失敗,則檔案流物件為0值,我們可以依據這個判斷函式的執**況

若在檔案流建立或open函式呼叫時,未指明它的開啟方式,則會使用預設開啟方式,預設值如下:

std::ofstream --  std::ios::out|std::ios::trunk

std::ifstream -- std::ios::in

std::ofstream -- 無預設值

2、檔案流物件的成員函式

close();  重新整理未儲存的資料後關閉檔案

flush(); 重新整理檔案緩衝區

put(char c):將乙個檔案寫入檔案中

rdbuf():返回與流相連線的檔案緩衝區物件

tellp():獲取輸出檔案指標位置

seekp( streamoff off, ios::seek_dir dir)或seekp( streamoff off);設定輸出檔案流偏移

tellg():獲取輸入檔案指標位置

seekg( streamoff off, ios::seek_dir dir )或seekg( streamoff off);設定輸入檔案流偏移

rdstate():獲取檔案狀態

eof():判斷檔案指標是否到達檔案尾

fail():上次讀寫出錯,但檔案仍可用

bad():檔案不在可用

good():檔案一切正常

clear():清楚檔案狀態

以下是fstream類特有的成員函式

getline(str,n,'\n'):從檔案中讀取字元,直到讀取到『\n』或讀取n-1個字元後結束

put(c):將字元c寫入到檔案中

ignore(n):跳過n個字元,引數為0時,讀取下乙個字元

另外檔案流也過載了"<>」操作符,在文字檔案讀取和寫入時,也可以使用這兩個運算子。果想要讀寫是的二進位制檔案,則不能再使用上面的函式了,因為二進位制檔案中包含大量的0,與我們的『\0』的ascii的值是一樣的,所以讀寫二進位制檔案只能使用read和write函式:

istream& read(char* buffer,int len);

ostream& write(char* buffer,int len);

如果想要刪除某個檔案,可以使用remove函式:

int remove(char* filepath);

成功返回0,失敗返回非零值

C 檔案流操作

include stdafx.h include include include include include using namespace std void writecharsettofile const string filename void outputfile const strin...

C 檔案流操作

c 的檔案流本質是利用了乙個buffer中間層,有點類似標準輸出和標準輸入一樣。需要包含的標頭檔案 fstream.h 需要的命名空間 std fstream提供了三個類,用來實現c 對檔案的操作,以下對其做個簡要概述。1.ifstream類 2.ofstream類 3.fstream類 支援的檔案...

C 流檔案操作

c 流檔案操作 開發工具與關鍵技術 visual studio c 流檔案操作 流檔案的基本操作 1.開啟檔案 2.進行讀或者寫的操作 3.關閉檔案 計算機中各種應用系統都把一些資訊組織起來放在外部儲存器,這種組織被稱為檔案,並用檔名作為標識。c 中檔案作為無結構的位元組流 編碼方式 文字方式 二進...