文件類型可分兩種:
1、文本文件:文件以文本的ASCII碼形式存儲在計算機中;
2、二進制文件:文件以文本的二進制形式存儲在計算機中,用戶一般看不懂。
操作文件的三大類:
1、ofstream:從程序輸出到文件中,寫操作;
2、ifstream:從文件讀入到程序中,讀操作;
3、fstream:讀、寫操作都可。
文本文件
寫文件
1、包含頭文件
#include<fstream>
2、創建流對象
ofstream ofs;
3、打開文件
ofs.open("文件路徑",打開方式);
4、寫數據,ofs就是輸出到文件,類似cout輸出到屏幕
ofs << "寫入的數據";
5、關閉文件
ofs.close();
文件打開方式:
ios::in:為讀文件而打開文件
ios::out:為寫文件而打開文件
ios::ate:初始位置:文件尾
ios::app:追加方式寫文件
ios::trunc:若文件存在,先刪除
ios::binary:二進制方式
注意:文件打開方式可以配合使用,利用 | 操作符。
例如:二進制方式寫文件:ios::binary | ios::out
讀文件:
1、包含頭文件
#include<fstream>
2、創建流對象
ifstream ifs;
3、打開文件並判斷是否打開成功
ifs.open("文件路徑",打開方式); if (!ifs.is_open()) { cout << "文件打開失敗" << endl; return; }
4、讀數據
四種方式讀取:
(1)、
char buf[1024] = { 0 }; while (ifs >> buf) { cout << buf << endl; }
(2)、
char buf[1024] = { 0 }; while (ifs.getline(buf, sizeof(buf))) { cout << buf << endl; }
(3)、
string buf; while (getline(ifs, buf)) { cout << buf << endl; }
(4)、
char c; while ((c = ifs.get()) != EOF)//End Of File { cout << c; }
5、關閉文件
ifs.close();
---------------------
C++11