C 檔案操作函式詳解

2021-06-08 20:26:48 字數 1831 閱讀 5757

c++通過以下幾個類支援檔案的輸入輸出

(1) ofstream:寫操作,輸出檔案類;

(2) ifstream:讀操作,輸入檔案類;

(3) fstream:可同時讀寫的檔案類。

1. open函式:開啟檔案

函式原型:void open(const char*filename,int mode,int access);

引數說明:filename:  要開啟的檔名

mode:    要開啟檔案的方式

access:   開啟檔案的屬性

開啟檔案的方式在類ios(是所有流式i/o類的基類)中定義,常用的值如下:

ios::binary:  以二進位制方式開啟檔案,預設的方式是文字方式。兩種方式的區別見前文

ios::in:    檔案以輸入方式開啟

ios::out:   檔案以輸出方式開啟

ios::nocreate: 不建立檔案,所以檔案不存在時開啟失敗 

ios::noreplace:不覆蓋檔案,所以開啟檔案時如果檔案存在失敗

ios::trunc:  如果檔案存在,把檔案長度設為0

可以用「或」把以上屬性連線起來,如ios::out|ios::binary

開啟檔案的屬性取值是:

0:普通檔案,開啟訪問

1:唯讀檔案

2:隱含檔案

4:系統檔案

例如:以二進位制輸入方式開啟檔案c:\config.sys

fstreamfile1;

file1.open("c:\\config.sys",ios::binary|ios::in,0);

ofstream file;

2. close函式

函式原型:void close()

3. 二進位制檔案(binary files)

在二進位制檔案中,使用<< 和》,以及函式(如getline)來操作符輸入和輸出資料,沒有什麼實際意義,雖然它們是符合語法的。

檔案流包括兩個為順序讀寫資料特殊設計的成員函式:write 和 read。第乙個函式 (write) 是ostream 的乙個成員函式,都是被ofstream所繼承。而read 是istream 的乙個成員函式,被ifstream 所繼承。類 fstream 的物件同時擁有這兩個函式。它們的原型是:

write ( char *buffer, streamsize size );

read ( char * buffer, streamsize size );

這裡 buffer 是一塊記憶體的位址,用來儲存或讀出資料。引數size 是乙個整數值,表示要從快取(buffer)中讀出或寫入的字元數。

// reading binary file  

#include #include const char * filename = "example.txt";

int main ()

寫檔案舉例:

// writing on a text file  

#include int main ()

return 0;

}

讀檔案舉例:

// reading a text file  

#include #include #include int main ()

while (! examplefile.eof() )

return 0;

}

C庫檔案操作函式詳解

c庫檔案操作標準庫函式彙總 檔案的開啟操作 fopen 開啟乙個檔案 檔案的關閉操作 fclose 關閉乙個檔案 檔案的讀寫操作 fgetc 從檔案中讀取乙個字元 fputc 寫乙個字元到檔案中去 fgets 從檔案中讀取乙個字串 fputs 寫乙個字串到檔案中去 fprintf 往檔案中寫格式化資...

C語言檔案操作函式詳解

三 順序讀寫資料檔案 四 用格式化的方式讀寫文字檔案 五 用二進位制方式向檔案讀寫一組資料 六.隨機讀寫資料檔案 七 檔案讀寫的出錯檢測 c語言檔案詳解 一 定義乙個指向檔案 file型別資料 的指標 指向檔案的指標變數並不是指向外部介質上的資料檔案的開頭,而是指向記憶體中的檔案資訊區的開頭。二 開...

c 檔案操作詳解

c 通過以下幾個類支援檔案的輸入輸出 ofstream 寫操作 輸出 的檔案類 由ostream引申而來 ifstream 讀操作 輸入 的檔案類 由istream引申而來 fstream 可同時讀寫操作的檔案類 由iostream引申而來 開啟檔案 open a file 對這些類的乙個物件所做的...