最近因為疫情宅在家,於是又狠下心開始了一直想學,但又一直斷斷續續的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...