C 檔案讀寫 相關知識點

2021-10-19 14:39:10 字數 2905 閱讀 8175

2. 讀檔案

2. 二進位制檔案

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

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

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

檔案型別分為兩種:

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

操作檔案得三大類:

ofstream:寫操作

ifstream:讀操作

fstream:讀寫操作

寫檔案步驟如下

包含標頭檔案:#include建立流物件:ofstream ofs;開啟檔案:ofs.open("路徑",開啟方式);寫資料:ofs << "寫入資料";關閉檔案:ofs.close();

開啟方式

開啟方式

解釋ios::in讀許可權 開啟檔案

ios::out寫許可權 開啟檔案

ios::ate初始位置:檔案尾

追加方式寫檔案

ios::trunc檔案存在則先刪除,在建立

ios::binary二進位制方式

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

例:二進位制寫檔案:ios::binary | ios::out例:

#include

using

namespace std;

//新增標頭檔案

#include

intmain()

讀檔案步驟如下

包含標頭檔案:#include建立流物件:ifstream ifs;開啟檔案 並判斷是否開啟成功:ifs.open("路徑",開啟方式);讀資料:四種方式讀取

關閉檔案:ifs.close();

if

(!ifs.

is_open()

)

4種讀取方式

例:

#include

using

namespace std;

#include

//新增標頭檔案

#include

intmain()

//讀取檔案

//方式一

/* 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 end of file

// */

//關閉檔案

ifs.

close()

;system

("pause");

return0;

}

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

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

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

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

引數解釋:

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

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

引數解釋:

#include

using

namespace std;

//新增標頭檔案

#include

class

person

;//二進位制寫入檔案

void

test01()

; ofstream ofs

("person.txt"

,ios::binary |ios::out);

ofs.

write((

const

char*)

&person,

sizeof

(person));

ofs.

close()

;}//二進位制讀取檔案

void

test02()

person person;

ifs.

read((

char*)

&person,

sizeof

(person));

cout <<

"姓名: "

<< person.m_name

"年齡: "

<< person.m_age

"性別: "

<< person.m_***

close()

;}intmain()

c 相關知識點

類繼承 基類指標與引用可以隱示的指向派生類的物件,但只能使用基類的函式。多型屬於豎向函式過載,派生類函式的名與基類函式得名一樣,但在呼叫多態函式時有些區別,如果該函式是通過引用或者指標而不是物件呼叫的,如果這個函式在多型過程中沒有使用關鍵字virtual那麼程式將根據引用或者指標選擇實現方法。如果函...

C 繼承相關知識點

c 作為物件導向的語言,類之間可以繼承,被繼承的類稱為基類 父類 產生的新類稱為派生類 子類 c 的類許可權分為三個等級,private 私有的 protect 被保護的 public 公有的 其相對應的繼承的許可權也分為相同的三個等級,即private,protect以及public繼承。這三類繼...

c 的相關知識點

第乙個 輸入資料的每行包括若干個 至少乙個 以空格隔開的整數,輸出每行所有的整數和。include include include include include include include include include include includeusing namespace std i...