c 檔案操作

2021-10-19 13:59:13 字數 3252 閱讀 5032

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

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

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

檔案型別分為兩種:

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

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

操作檔案的三大類:

(1)ofstream:寫操作

(2)ifstream: 讀操作

(3)fstream : 讀寫操作

寫檔案步驟如下:

包含標頭檔案

#include

建立流物件

ofstream ofs;

開啟檔案

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

寫資料ofs << "寫入的資料";

關閉檔案

ofs.close();

檔案開啟方式:

開啟方式

解釋ios::in

為讀檔案而開啟檔案

ios::out

為寫檔案而開啟檔案

ios::ate

初始位置:檔案尾

追加方式寫檔案

ios::trunc

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

ios::binary

二進位制方式

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

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

#include #include //1、包含標頭檔案 fstream

using namespace std;

//文字檔案的寫檔案

void test01()

int main(void)

開啟專案所在的資料夾

總結:

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

讀檔案步驟如下:

包含標頭檔案

#include

建立流物件

ifstream ifs;

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

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

讀資料四種方式讀取

關閉檔案

ifs.close();

#include #include #include //1、包含標頭檔案

using namespace std;

//文字檔案-讀檔案

void test02()

//4、讀資料【4種】

//第一種

//char buf[1024] = ;

//while (ifs >> buf) //讀不到資料了,返回false

// //第二種

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

//5、關閉檔案

總結:

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

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

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

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

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

#include #include //1、包含標頭檔案

using namespace std;

//二進位制-寫檔案

class person

;void test03()

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

//5、關閉檔案

總結:

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

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

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

#include #include #include //包含標頭檔案

using namespace std;

class person4

;void test04()

person4 p;

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

cout << "姓名是:" << p.m_name << " 年齡:" << p.m_age << endl;

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

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

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

C 檔案操作

c 追加檔案 sw.writeline 追逐理想 sw.writeline kzlll sw.writeline net筆記 sw.flush sw.close c 拷貝檔案 string orignfile,newfile file.copy orignfile,newfile,true c 刪除...

C 檔案操作

c 檔案操作 軒軒 發表於 2006 2 18 12 40 16 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器...