C 實現檔案讀寫(文字檔案和二進位制檔案)

2021-10-04 09:07:46 字數 1746 閱讀 1187

最近因為疫情宅在家,於是又狠下心開始了一直想學,但又一直斷斷續續的c++自學之路。聽的課程是慕課上北大郭煒老師的《程式設計與演算法(三)c++物件導向程式設計》。現在每天學一點,一方面為了加強理解,另一方面方便後續的查閱。

檔案讀寫的原理,類似於輸入輸出流,只是從鍵盤輸入變為了從檔案輸入(讀檔案),從螢幕輸出變為輸出到檔案(寫檔案)。具體的關係如下圖所示:

可以看到檔案的讀寫就是跟三個類相關:ifstream、ofstream及fstream。

需要注意的是:開始需要包含標頭檔案,最後需要關閉開啟的各個檔案!

#include

ofstream wrtfile;

wrtfile.

open

("g:"

,ios::out)

;

這種方式就是先建立了ifstream物件,再使用open函式開啟。

引數:– g: 寫入到g盤下名字為test1.txt的檔案中

– ios::out 檔案開啟方式(寫的方式)

- ios::out 輸出到檔案,刪除原有內容

ofstream wrtfile

("g:"

,ios::out)

;

例子是有乙個名為test.txt檔案裡面有1-10十個數字的雜亂狀態,需要按照從小到大的順序重新寫入到test1.txt中。

#include

"pch.h"

#include

#include

#include

#include

using

namespace std;

intmain()

ofstream wrtfile

("g:"

,ios::out)

;//以文字文件方式開啟

ofstream wrtbfile

("g:"

,ios::out|ios::binary)

;//以二進位制方式開啟

int x;

while

(redfile >> x)

sort

(v.begin()

, v.

end())

;for

(int i =

0; i < v.

size()

;i++

) wrtbfile.

write((

char*)

&v,sizeof

(v))

;//二進位制方式寫入

wrtfile.

close()

; redfile.

close()

; wrtbfile.

close()

;return0;

}

write

(const

char

* s,

long n)

意思是將記憶體位址s處的n個位元組內容,寫入到檔案中寫指標指向的位置,然後將寫指標向後移動n位元組,讀的引數與寫相同。

上面的例子中也有二進位制方式寫的示例。

C C 讀寫文字檔案 二進位制檔案

掌握c語言文字檔案讀寫方式 掌握c語言二進位制檔案讀寫方式 掌握cpp文字檔案讀寫方式 掌握cpp二進位制檔案讀寫方式 1.文字檔案寫入 採用c模式對txt進行寫出 void txtwrite cmode 寫出txt file fid fopen txt out.txt w if fid null ...

C C 讀寫文字檔案 二進位制檔案

掌握c語言文字檔案讀寫方式 掌握c語言二進位制檔案讀寫方式 掌握cpp文字檔案讀寫方式 掌握cpp二進位制檔案讀寫方式 1.文字檔案寫入 採用c模式對txt進行寫出 void txtwrite cmode 寫出txt file fid fopen txt out.txt w if fid null ...

讀寫文字檔案和二進位制檔案 二進位制模式

fstream binary開啟 新行採用 lf 作為乙個位元組 關閉 新行採用 cr lf 組合,作為乙個位元組。關於 cr lf 參見 以下是 c primer 第四版中的一段 1 intmain 29 10 ifstream pos type ptendmark finout.tellg 11...