C 一些學習筆記(十三)檔案操作

2021-10-24 13:29:57 字數 2832 閱讀 7285

2.二進位制檔案

程式執行時產生的資料都屬於臨時資料,程式一旦執行結束都會釋放,通過檔案可以將資料持久化。

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

檔案分為兩種:

操作檔案的三大類:

寫檔案寫檔案步驟如下:

檔案開啟方式:

開啟方式

解釋ios::in

為讀檔案而開啟檔案

ios::out

為寫檔案而開啟檔案

ios::ate

初始位置:檔案尾

以追加方式寫檔案

ios::trunc

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

ios::binary

二進位制方式

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

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

#include

#include

#include

//1/包含標頭檔案

using

namespace std;

void

test01()

intmain()

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

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

3.開啟檔案時需要制定操作檔案的路徑以及開啟方式

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

5.操作完畢要關閉檔案

讀檔案

讀檔案與寫檔案步驟相似,但是讀取方式相對多一些

讀檔案步驟如下:

#include

#include

#include

//1.包含標頭檔案

using

namespace std;

void

test01()

//讀資料

//方法一

// 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)

ifs.

close()

;//5.關閉檔案

}int

main()

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

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

3.close關閉檔案

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

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

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

函式原型:ostream& write(const char*buffer,int len);字元指標buffer指向記憶體中一段儲存空間,len是讀寫的位元組數

#include

#include

#include

//1.包含標頭檔案

using

namespace std;

//二進位制操作檔案不僅能操縱內建的資料型別,也可以操縱自定義的資料型別

class

person

;void

test01()

; ofs.

write((

const

char*)

&p,sizeof

(person));

//4.寫檔案

ofs.

close()

;//5.關閉檔案

}int

main()

1.包含標頭檔案

2.建立輸出流物件

3.開啟檔案

4.準備乙個資料,把這個資料的型別轉換為const

char

*,定義資料長度

5.關閉檔案

讀檔案

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

函式原型:istream& read(char*buffer,int len);字元指標buffer指向記憶體中一段儲存空間,len是讀寫的位元組數

#include

#include

#include

//1.包含標頭檔案

using

namespace std;

//二進位制操作檔案不僅能操縱內建的資料型別,也可以操縱自定義的資料型別

class

person

;void

test01()

//ofstream ofs("/users/white./desktop/person.txt",ios::out|ios::binary);可以合併寫成這一步

person p;

ifs.

read((

char*)

&p,sizeof

(person));

//4.讀檔案

cout<<

"姓名:"

<"年齡:"

close()

;//5.關閉檔案

}int

main()

學習C的一些筆記(一)

總結下很早以前的筆記,溫故而知新。printf 2d 2d 3d index i 1,index j 1,index i 1 index j 1 在輸入一長串數,但需要單個讀入的時候,就需要指定寬度 即 1d 如身份證系統scanf 1d a i 其中 代表左對齊,2,3代表顯示幾個字元,不足,用空...

c 一些操作

使用友元函式過載 這樣的賦值運算,最好使用成員函式,返回運算子左側的引用,這樣既可以連續賦值,又可以直接傳遞引用,不用呼叫拷貝建構函式將返回的臨時變數複製給左側引數,增加效率。ex 過載加法 a b,友元不屬於任何物件,所以它沒有this指標 friend test operator const t...

C 中一些檔案的操作

1.file.exist檢查檔案是否存在 public static bool exists string path 檔案存在時,返回true,相反返回false。2.讀寫檔案 public static string readalltext string path 讀取檔案的所有行放入乙個字串中,...