文件类型可分两种:
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