C 筆記 檔案操作

2021-10-21 17:24:10 字數 2403 閱讀 4715

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

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

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

檔案型別分為兩種:

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

檔案的操作:

ofstream:寫操作

ifstream:讀操作

fstream:讀寫操作

1.1 寫檔案

寫檔案步驟如下

包含標頭檔案

#

include

建立流物件

ofstream ofs;

開啟檔案

ofs.open("檔案路徑", 開啟方式)
開啟方式

解釋ios::in

為讀檔案而開啟檔案

ios::out

為寫檔案而開啟檔案

ios::ate

初始位置:檔案尾

追加方式寫檔案

ios::trunc

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

ios::binary

二進位制方式

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

例如:ios::binary | ios::out

寫資料

ofs << "寫入的資料"

關閉檔案

ofs.close

1.2 讀檔案

讀檔案步驟如下:

包含標頭檔案

#include

建立流物件

ifstream ifs;

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

ifs.open("檔案路徑", 開啟方式)

if(!ifs.is_open())

讀資料

string buf;

while(getline(ifs, buf))

關閉檔案

ifs.close();
例:

#include#include#includeusing namespace std;

void test()

string buf;

while(getline(ifs, buf))

ifs.close();

}int main()

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

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

2.1 寫檔案

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

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

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

//例:將person類中的資料寫入檔案

#include#includeusing namespace std;

class person;

void test();

ofs.write((const char *)&p, sizeof(person));

ofs.close();

}int main()

2.2 讀檔案

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

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

//例:讀取檔案中的資料

#include#includeusing namespace std;

class person;

void test()

person p;

ifs.read((char *)&p, sizeof(person));

cout << "name:" << p.m_name << endl;

cout << "age: " << p.m_age << endl;

ifs.close();

}int main()

參考:黑馬程式設計師匠心之作|c++教程從0到1入門程式設計,學習程式設計不再難

鏈結

C 入門筆記 檔案操作

此文是fishc大佬第四堂課的內容小結,學到了很多,來總結一下。利用c語言編寫乙個檔案複製的程式,如下所示。include include int main int argc,char argv argc和argv 在程式中,main函式有兩個引數,整型變數argc和字元指標陣列argv。argc的...

C 學習筆記 C 的檔案操作

一 main函式的三個引數 int main int argc,char argv,char envp 1 整型變數int argc,指程式的引數數量,表示在命令列下輸入的時候一共有多少個引數,包括命令 2 字元指標陣列char argv 每個指標指向命令列的乙個字串 3 字元指標陣列char en...

讀書筆記 C 檔案操作

在c 中,對檔案的操作是通過stream的子類fstream file stream 來實現的,在標頭檔案中定義 一 開啟檔案 fstream類的成員函式open 原形 void open const char filename,int mode,int access filename 開啟的檔案名...