C 檔案操作讀與寫

2021-10-04 10:50:44 字數 2179 閱讀 5520

檔案操作

程式執行時的產生的資料都屬於臨時資料,程式一旦執行結束都會被釋放,通過檔案可以將資料持久化,c++中對檔案操作需要包括標頭檔案

檔案型別分為兩種:

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

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

操作檔案的三大類:

. ofstream : 寫檔案

. ifstream : 讀檔案

. fstream : 讀寫檔案

文字檔案

寫檔案

1.包含標頭檔案 #include

2. 建立流物件 ofstream ofs;

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

4.寫資料 ofs<<「寫資料」;

5.關閉檔案。

檔案的開啟方式:

解釋ios::in

為讀檔案而開啟檔案

ios::out

為寫檔案而開啟檔案

ios::ate

初始位置:檔案尾

追加的方式寫檔案

ios::trunc

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

ios::binary

以二進位制方式開啟

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

#include

void

test01()

讀檔案

1.包含標頭檔案 #include

2. 建立流物件 ifstream ifs;

3.開啟檔案 ofs.open(「檔案路徑」,「開啟方式」); 並判斷是否開啟成功

4.讀資料 四種方式讀取.

5.關閉檔案。 ifs.close();

#include

void

test01()

//讀資料

//第一種:

char buf[

1024]=

;while

(ifs>>buf)

//第二種

char buff[

1024]=

;while

(ifs.

getline

(buf,

1024))

//第三種

string bu;

while

(getline

(ifs,bu)

)//第四種 ,乙個乙個字元讀,不推薦

char c;

while

((c=ifs.

get())

!=eof

)//eof 檔案尾

ifs.

close()

;}

二進位制檔案

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

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

寫檔案

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

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

字串指標buffer指向記憶體種的一段儲存空間,len是讀寫的位元組數.

class

person

;void

test()

; ofs.

write((

const

char*)

&p,sizeof

(person));

ofs.

close()

;}

讀檔案

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

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

buffer 指向記憶體種的一段儲存空空間,len是讀寫的位元組數.

#include

class

person

;void

test01()

C 建立 讀以及寫檔案操作

1.建立檔案 根路徑自己決定,如果是乙個專案一定有相關的api獲取該專案所在硬碟的完整物理路徑。建立檔案時一般先會判斷是否存在指定的檔案,沒有則建立,執行以下 後可檢視d盤根路徑。string path d string filename datetime.now.tostring yyyymmdd...

python 檔案操作,讀檔案,寫檔案

讀取檔案的全部內容 def get f none try f open 致橡樹.txt r encoding utf 8 print f.read except filenotfounderror print 無法開啟指定的檔案 except lookuperror print 指定了未知的編碼 e...

檔案快取 寫與讀

1.先判斷是否有sdcard以及許可權environment.getexternalstoragestate equals environment.media mounted 2.得到sdcard路徑 mnt sdcard environment.getexternalstoragedirector...