C 檔案操作(黑馬)

2021-10-06 22:50:56 字數 3220 閱讀 1569

1.2 讀檔案

2 二進位制檔案

2.2 二進位制讀檔案

程式執行時產生的資料都屬於臨時資料,程式一旦執行結束都會被釋放。

通過檔案可以將資料持久化

c++中對檔案操作需要包含標頭檔案 < fstream >

檔案型別分為兩種:

文字檔案 - 檔案以文字的ascii碼形式儲存在計算機中

二進位制檔案 - 檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂它們

操作檔案的三大類:

3. ofstream:寫操作

4. ifstream: 讀操作

5. fstream : 讀寫操作

寫檔案步驟如下:

包含標頭檔案

#include

建立流物件

ofstream ofs;

開啟檔案

ofs.open(「檔案路徑」,開啟方式);

寫資料ofs << 「寫入的資料」;

關閉檔案

ofs.close();

檔案開啟方式:

開啟方式

解釋ios::in

為讀檔案而開啟檔案

ios::out

為寫檔案而開啟檔案

ios::ate

初始位置:檔案尾

追加方式寫檔案

ios::trunc

如果檔案存在先刪除,再建立

ios::binary

二進位制方式

注意: 檔案開啟方式可以配合使用,利用 | 操作符

例如:用二進位制方式寫檔案 ios::binary | ios:: out

檔案操作必須包含標頭檔案 fstream

讀檔案可以利用 ofstream ,或者fstream類

開啟檔案時候需要指定操作檔案的路徑,以及開啟方式

利用《可以向檔案中寫資料

操作完畢,要關閉檔案

讀檔案與寫檔案步驟相似,但是讀取方式相對於比較多

讀檔案步驟如下:

包含標頭檔案

#include

建立流物件

ifstream ifs;

開啟檔案並判斷檔案是否開啟成功

ifs.open(「檔案路徑」,開啟方式);

讀資料四種方式讀取

關閉檔案

ifs.close()

#include

#include

#include

using

namespace std;

void

test11()

//第一種方式

//char buf[1024] = ;

//while (ifs >> buf)

////第二種

//char buf[1024] = ;

//while (ifs.getline(buf,sizeof(buf)))

////第三種

//string buf;

//while (getline(ifs, buf))

//char c;

while

((c = ifs.

get())

!=eof

)//乙個乙個讀取,==eof說明接收完了

ifs.

close()

;}intmain()

執行結果

讀檔案可以利用 ifstream ,或者fstream類

利用is_open函式可以判斷檔案是否開啟成功

close 關閉檔案

以二進位制的方式對檔案進行讀寫操作

開啟方式要指定為 ios::binary

二進位制方式寫檔案主要利用流物件呼叫成員函式write

函式原型 :ostream& write(const char * buffer,int len);

引數解釋:字元指標buffer指向記憶體中一段儲存空間。len是讀寫的位元組數

#include

#include

#include

using

namespace std;

class

person

;void

test22()

;//4、寫檔案

ofs.

write((

const

char*)

&p,sizeof

(p))

;//5、關閉檔案

ofs.

close()

;}intmain()

執行結果(二進位制)

檔案輸出流物件 可以通過write函式,以二進位制方式寫資料

二進位制方式讀檔案主要利用流物件呼叫成員函式read

函式原型:istream& read(char *buffer,int len);

引數解釋:字元指標buffer指向記憶體中一段儲存空間。len是讀寫的位元組數

#include

#include

#include

using

namespace std;

class

person

;void

test33()

person p;

ifs.

read((

char*)

&p,sizeof

(p))

; cout <<

"姓名: "

<< p.m_name <<

" 年齡: "

<< p.m_age << endl;

}int

main()

執行結果

檔案輸入流物件 可以通過read函式,以二進位制方式讀資料

黑馬程式設計師 檔案流IO操作

asp.net unity開發.net培訓 期待與您交流!一 介紹與檔案相關的列舉 fileaccess 表示檔案的訪問許可權,列舉取值包括read 可讀 write 可寫 和readwrite 可讀寫 fileattibutes 表示檔案的型別屬性,列舉取值主要包括 archive 存檔檔案 di...

黑馬程式設計師03 C語言之檔案操作模式

rt 唯讀開啟乙個文字檔案,只允許讀資料 wt 只寫開啟或建立乙個文字檔案,只允許寫資料 at 追加開啟乙個文字檔案,並在檔案末尾寫資料 rb 唯讀開啟乙個二進位制檔案,只允許讀資料 wb 只寫開啟或建立乙個二進位制檔案,只允許寫資料 ab 追加開啟乙個二進位制檔案,並在檔案末尾寫資料 rt 讀寫開...

C 檔案操作與C 的檔案操作

c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...