2.二進位制檔案
程式執行時產生的資料都屬於臨時資料,程式一旦執行結束都會釋放,通過檔案可以將資料持久化。
c++中對檔案操作需要包含標頭檔案
檔案分為兩種:
操作檔案的三大類:
寫檔案寫檔案步驟如下:
檔案開啟方式:
開啟方式
解釋ios::in
為讀檔案而開啟檔案
ios::out
為寫檔案而開啟檔案
ios::ate
初始位置:檔案尾
以追加方式寫檔案
ios::trunc
如果檔案存在先刪除,再建立
ios::binary
二進位制方式
注意:檔案開啟方式可以配合使用,利用|操作符
例如:用二進位制方式寫檔案ios::binary|ios::out
#include
#include
#include
//1/包含標頭檔案
using
namespace std;
void
test01()
intmain()
1.檔案操作必須包含標頭檔案fstream
2.讀檔案可以利用ofstream,或者fstream
3.開啟檔案時需要制定操作檔案的路徑以及開啟方式
4.利用《可以向檔案中寫資料
5.操作完畢要關閉檔案
讀檔案
讀檔案與寫檔案步驟相似,但是讀取方式相對多一些
讀檔案步驟如下:
#include
#include
#include
//1.包含標頭檔案
using
namespace std;
void
test01()
//讀資料
//方法一
// 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)
ifs.
close()
;//5.關閉檔案
}int
main()
1.讀檔案可以利用ifstream,或者fstream
2.利用is_open函式可以判斷檔案是否開啟成功
3.close關閉檔案
以二進位制的方式對檔案進行讀寫操作
開啟方式要指定為ios::binary
寫檔案二進位制方式寫檔案主要利用流物件呼叫成員函式write
函式原型:ostream& write(const char*buffer,int len);
字元指標buffer指向記憶體中一段儲存空間,len是讀寫的位元組數
#include
#include
#include
//1.包含標頭檔案
using
namespace std;
//二進位制操作檔案不僅能操縱內建的資料型別,也可以操縱自定義的資料型別
class
person
;void
test01()
; ofs.
write((
const
char*)
&p,sizeof
(person));
//4.寫檔案
ofs.
close()
;//5.關閉檔案
}int
main()
1.包含標頭檔案
2.建立輸出流物件
3.開啟檔案
4.準備乙個資料,把這個資料的型別轉換為const
char
*,定義資料長度
5.關閉檔案
讀檔案
二進位制方式讀檔案主要利用流物件呼叫成員函式read
函式原型:istream& read(char*buffer,int len);
字元指標buffer指向記憶體中一段儲存空間,len是讀寫的位元組數
#include
#include
#include
//1.包含標頭檔案
using
namespace std;
//二進位制操作檔案不僅能操縱內建的資料型別,也可以操縱自定義的資料型別
class
person
;void
test01()
//ofstream ofs("/users/white./desktop/person.txt",ios::out|ios::binary);可以合併寫成這一步
person p;
ifs.
read((
char*)
&p,sizeof
(person));
//4.讀檔案
cout<<
"姓名:"
<"年齡:"
close()
;//5.關閉檔案
}int
main()
學習C的一些筆記(一)
總結下很早以前的筆記,溫故而知新。printf 2d 2d 3d index i 1,index j 1,index i 1 index j 1 在輸入一長串數,但需要單個讀入的時候,就需要指定寬度 即 1d 如身份證系統scanf 1d a i 其中 代表左對齊,2,3代表顯示幾個字元,不足,用空...
c 一些操作
使用友元函式過載 這樣的賦值運算,最好使用成員函式,返回運算子左側的引用,這樣既可以連續賦值,又可以直接傳遞引用,不用呼叫拷貝建構函式將返回的臨時變數複製給左側引數,增加效率。ex 過載加法 a b,友元不屬於任何物件,所以它沒有this指標 friend test operator const t...
C 中一些檔案的操作
1.file.exist檢查檔案是否存在 public static bool exists string path 檔案存在時,返回true,相反返回false。2.讀寫檔案 public static string readalltext string path 讀取檔案的所有行放入乙個字串中,...