C 核心篇 5 檔案讀寫

2021-10-08 14:09:02 字數 2378 閱讀 7123

00x1 概述

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

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

檔案型別分為兩種

二進位制檔案:檔案以二進位制形式儲存在計算機中

檔案操作分為三種

00x2 文字檔案

寫檔案包含標頭檔案:#include

建立流物件:ofstream ofs;

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

寫資料:ofs << 「寫入的資料」;

關閉輸出流:ofs.close();

#include

ofstream ofs;

ofs.

open

("檔案位址"

,ios::out)

;ofs <<

"資料"

;ofs.

close()

;

開啟方式

解釋ios::in

讀ios::out

寫ios::ate

初始位置檔案尾

通知方式寫檔案

ios::trunc

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

ios::binary

二進位制方式

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

如:ios::binary | ios::out

讀檔案包含標頭檔案:#include

建立流物件:ifstream ifs;

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

讀資料:四種方式讀取

關閉檔案:ifs.close();

#include

#include

ifstream ifs;

ifs.

open

("a.txt"

, ios::in);if

(!ifs.

is_open()

)第一種方式:建立字元陣列並迴圈逐個讀入

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

////return 0;

00x3 二進位制檔案

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

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

包含標頭檔案:#include

建立流物件:ofstream ofs;

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

寫資料:ofs.write(const char * buffer,int len);

關閉輸出流:ofs.close();

#include

class

person

;person p1 =

;ofstream ofs;

ofs.

open

("檔案路徑"

,ios::out | ios::binary)

ofs.

write((

const

char*)

&p,sizeof

(person));

//位址顯示轉換成const char *

ofs.

close()

;

讀檔案

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

函式原型:ofs.read(char * buffer,int len);

#include

class

person

p;ifstream ifs;

ifs.

open

("檔案位址"

,ios::in | ios::binary)if(

!ifs.

is_open()

)ifs.

read((

char*)

&p,sizeof

(person));

ifs.

close()

;

C 核心程式設計 5 檔案操作

5.2 二進位制檔案 程式執行時產生的資料都屬於臨時資料,程式一旦執行結束都會被釋放 通過檔案可以將資料持久化 c 中對檔案操作需要包含標頭檔案 fstream 檔案型別分為兩種 文字檔案 檔案以文字的ascii碼形式儲存在計算機中 二進位制檔案 檔案以文字的二進位制形式儲存在計算機中,使用者一般不...

C 核心程式設計 5 檔案操作

5.1 文字檔案 程式執行時產生的資料都屬於臨時資料,程式一旦執行結束都會被釋放,通過檔案可以將資料持久化。c 中對檔案操作需要包含標頭檔案 檔案型別分為兩種 2 二進位制檔案 檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂它們 操作檔案的三大類 1 ofstream 寫操作 2 i...

Qt5 檔案讀寫

讀寫檔案涉及到的幾個類 和 讀檔案函式 void readfile const qstring filename qtextstream提供一種讀寫文字文件邊界的介面 qtextstream outtext my file 將qtextstream與特定檔案關聯 qdebug outtext.rea...