文件输入输出
文件输入步骤 ofstream
- 包含头文件fstream。
- 创建一个ofstream对象。
- 将该ofstream对象同一个文件关联起来。
- 检测是否成功打开
- 就像使用cout那样使用该ofstream对象
- 使用完后关闭文件
#include<fstream>
ofstream OutFile;
OutFile.open("text.txt");//包含文件路径,否则会在可执行文件所属文件夹中查找
if(!OutFile.is_open)//也可以使用.good()
{
exit(EXIT_FAILURE);
}
OutFile<<"Hellow World!"<<endl;
OutFile.close();
`
/*
其中open()接收的参数为C-风格字符串,故使用char[]或char*类型变量也可以作为参数传入
如下
*/
const int SIZE = 60; //mian函数外定义
char filename[SIZE];
cin.getline(filename,SIZE);
OutFile.open(filename);
......
OutFile.close();
文件读取步骤 ifstream
文件读取与文件输出类似
- 必须包含头文件iostream。
- 头文件iostream定义了一个用处理输入的istream类。
- 头文件iostream声明了一个名为cin的istream变量(对象)。
- 必须指明名称空间std;例如,为引用元素cin,必须使用编译指令using或前缀std::。
- 可以结合使用cin和运算符>>来读取各种类型的数据。
文件链接模式
通过open(filename, C++mode);来进行限定,或使用构造函数ofstream OutFile(filename, mode) 或 ifstream InFile(filename, mode)来进行限定。
其中mode为文件模式常量,是ios_base类中定义的openmode类型,用来表示模式。其与fmtflags和iostate类型一样,也是一种bitmask类型。(一种位开关,一个32位的常量每一位都代表一个状态,1代表开启0代表关闭)故可以使用 | 与运算来进行模式组合