C 中對檔案的操作

2021-10-01 15:08:38 字數 2556 閱讀 3511

學c的時候我們就接觸過如何讀寫檔案,c++中存在c++風格的檔案讀寫,同時也支援c風格的讀寫檔案.

這是io類庫的基本結構,箭頭表示該類從何處繼承.

檔案的開啟模式標記代表了檔案的使用方式,這些標記可以單獨使用,也可以組合使用,組合使用時,用|將其連線

模式標記

適用物件

作用ios::in

ifstream、fstream

開啟檔案用於讀取資料。如果檔案不存在,則開啟出錯。

ios::out

ofstream、fstream

開啟檔案用於寫入資料。如果檔案不存在,則新建該檔案;如果檔案原來就存在,則開啟時清除原來的內容。

ofstream、fstream

開啟檔案,用於在其尾部新增資料。如果檔案不存在,則新建該檔案。

ios::ate

ifstream

開啟乙個已有的檔案,並將檔案讀指標指向檔案末尾(讀寫指 的概念後面解釋)。如果檔案不存在,則開啟出錯。

ios:: trunc

ofstream

單獨使用時與 ios:: out 相同。連用時,如果檔案本來就存在,則開啟時清除原來的內容;如果檔案不存在,則新建該檔案。

ios::binary

ifstream、ofstream、fstream

以二進位制方式開啟檔案。若不指定此模式,則以文字模式開啟。

下面的**簡單地展示了如何讀寫文字檔案,重點為**內注釋.

#include

#include

#include

using

namespace std;

intmain

(void

) fdata << name <<

"\t"

;//用流運算子《向檔案中輸入資料

cout <<

"年齡:"

; cin >> age;

fdata << age <<

"\n"

;//輸入資料

} fdata.

close()

;//一定記得關閉檔案

ifstream fread;

fread.

open

("data.txt");

//開啟檔案,如未指定開啟方式,預設為ios::in

while(1

) fread >> age;

//讀取資料

cout << name <<

"\t"

<< age << endl;

} fread.

close()

;//關閉檔案

data.txt檔案的內容:

二進位制檔案的簡單操作如下,基本的操作和讀寫文字檔案一樣:

#include

#include

#include

using

namespace std;

intmain

(void

) fdata << name <<

"\t"

; cout <<

"年齡:"

; cin >> age;

//write(const unsigned char *buf,int num);

//從buf 指向的快取寫 num 個字元到檔案中

data.dat檔案內容,可以看到是亂碼

用二進位制方式開啟

前四個是中文的儲存,09是水平製表符(\t),14 00 00 00是輸入的年齡(16進製制),轉化成10進製就是1*16+4=20,和輸入的資料相同,0e是回車(\n).後面乙個資料分析同上

c 中對檔案的操作小結

你平時是怎麼讀取檔案的?使用流讀取。是的沒錯,c 給我們提供了非常強大的類庫 又一次吹捧了.net一番 裡面封裝了幾乎所有我們可以想到的和我們沒有想到的類,流是讀取檔案的一般手段,那麼你真的會用它讀取檔案中的資料了麼?真的能讀完全麼?通常我們讀取乙個檔案使用如下的步驟 1 宣告並使用file的ope...

C 對檔案操作

c 建立目錄 建立目錄c sixage directoryinfo d directory.createdirectory c sixage d1指向c sixage sixage1 directoryinfo d1 d.createsubdirectory sixage1 d2指向c sixage...

c 對檔案操作

獲得當前絕對路徑 指定的路徑 絕對路徑 非web程式引用 return 刪除單個檔案 檔案相對路徑 public static bool deletefile string filepath if file.exists fullpath return false 刪除上傳的檔案 及縮圖 publi...