C 檔案讀寫

2021-10-02 22:16:18 字數 1817 閱讀 6112

ofstream file

("filename"

,ios::out|ios::binary)

;//或

//ofstream file;

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

int d=1;

file.

write

(reinterpret_cast

<

char

*>

(&d)

,sizeof

(d))

;

用reinterpret_cast將物件的位址顯式轉換為char*型別

(一)提取運算子(「>>」)

用於格式化文字輸入的,在提取資料時以空白符為分割。若輸入一段包含空白符的文字,用提取運算子就很不方便。此時可選用非格式化輸入成員函式getline,可讀取包含有空格的文字塊

(二)get函式

功能與提取運算子(「>>」)很相像,主要不同點事get函式在讀入資料時包括空白字元,而提取運算子在預設情況下拒絕接受空白字元

char c;

while

((c=cin.

get())

!=eof

)//讀取字元,可讀入空白字元,ctrl+z 結束

cout.

put(c)

;

(三)getline函式

可指定輸入終止字元,預設是換行字元

istream類具有成員函式getline,但只能將輸入結果存在字元陣列中,字元陣列大小不能自動擴充套件,使用不便。

char s[30]

;cin.

getline

(s,10

);

非成員函式getline(在string標頭檔案中)可將結果儲存在string型別物件中

string line;

getline

(cin,line,

't')

;//以t為終止字元

(四)read函式

對應前面write二進位制記錄

ifstream is

("filename"

,ios::out|ios::binary)

;int d2;

is.read

(reinterpret_cast

<

char

*>

(&d2)

,sizeof

(d2)

);

(五)讀檔案

逐個字元讀

char c;

while

((c=in.

get())

!=eof

)//讀取字元,可讀入空白字元

cout.

put(c)

;//coutwhile

(!in.

eof())

逐詞讀

string s;

int a;

char c;

while

(!in.

eof())

//直到讀空

逐行讀

string s;

while

(getline

(in,s)

)//行分隔符可以顯示指定,比如按照分號分隔getline(in,s,';')

c 檔案讀寫 文字讀寫

include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...

C 檔案讀寫

原文 http www.vckbase.com document viewdoc id 1439 原作 john peregrine file i o using c 序論 我曾發表過檔案輸入輸出的文章,現在覺得有必要再寫一點。檔案 i o 在c 中比烤蛋糕簡單多了。在這篇文章裡,我會詳細解釋asc...

C 讀寫檔案

1 使用filestream讀寫檔案 檔案頭 using system using system.collections.generic using system.text using system.io 讀檔案核心 byte bydata new byte 100 char chardata ne...