程式執行時產生的資料都屬於臨時資料,程式一旦執行結束都會被釋放
通過檔案可以將資料持久化
c++中對檔案操作需要包含標頭檔案#include
檔案型別分為兩種:
二進位制檔案:檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂
檔案的操作:
ofstream:寫操作
ifstream:讀操作
fstream:讀寫操作
1.1 寫檔案
寫檔案步驟如下
包含標頭檔案
#
include
建立流物件
ofstream ofs;
開啟檔案
ofs.open("檔案路徑", 開啟方式)
開啟方式
解釋ios::in
為讀檔案而開啟檔案
ios::out
為寫檔案而開啟檔案
ios::ate
初始位置:檔案尾
追加方式寫檔案
ios::trunc
如果檔案存在先刪除,再建立
ios::binary
二進位制方式
檔案開啟方式可以配合使用,利用|操作符
例如:ios::binary | ios::out
寫資料
ofs << "寫入的資料"
關閉檔案
ofs.close
1.2 讀檔案
讀檔案步驟如下:
包含標頭檔案
#include
建立流物件
ifstream ifs;
開啟檔案並判斷檔案是否開啟成功
ifs.open("檔案路徑", 開啟方式)
if(!ifs.is_open())
讀資料
string buf;
while(getline(ifs, buf))
關閉檔案
ifs.close();
例:
#include#include#includeusing namespace std;
void test()
string buf;
while(getline(ifs, buf))
ifs.close();
}int main()
以二進位制的方式對檔案進行讀寫操作
開啟方式要指定為ios::binary
2.1 寫檔案
二進位制方式寫檔案主要利用流物件呼叫成員函式write
函式原型:ostream& write(const char * buffer, int len);
引數解釋:字元指標buffer指向記憶體中一段儲存空間。len是讀寫的位元組數
//例:將person類中的資料寫入檔案
#include#includeusing namespace std;
class person;
void test();
ofs.write((const char *)&p, sizeof(person));
ofs.close();
}int main()
2.2 讀檔案
二進位制方式讀檔案主要利用流物件呼叫成員函式read
函式原型:istream& read(const char * buffer, int len);
//例:讀取檔案中的資料
#include#includeusing namespace std;
class person;
void test()
person p;
ifs.read((char *)&p, sizeof(person));
cout << "name:" << p.m_name << endl;
cout << "age: " << p.m_age << endl;
ifs.close();
}int main()
參考:黑馬程式設計師匠心之作|c++教程從0到1入門程式設計,學習程式設計不再難鏈結:
C 入門筆記 檔案操作
此文是fishc大佬第四堂課的內容小結,學到了很多,來總結一下。利用c語言編寫乙個檔案複製的程式,如下所示。include include int main int argc,char argv argc和argv 在程式中,main函式有兩個引數,整型變數argc和字元指標陣列argv。argc的...
C 學習筆記 C 的檔案操作
一 main函式的三個引數 int main int argc,char argv,char envp 1 整型變數int argc,指程式的引數數量,表示在命令列下輸入的時候一共有多少個引數,包括命令 2 字元指標陣列char argv 每個指標指向命令列的乙個字串 3 字元指標陣列char en...
讀書筆記 C 檔案操作
在c 中,對檔案的操作是通過stream的子類fstream file stream 來實現的,在標頭檔案中定義 一 開啟檔案 fstream類的成員函式open 原形 void open const char filename,int mode,int access filename 開啟的檔案名...