文件流打开方式参数 :
代码示例 :
// 以只读方式打开文件
ifstream fin("1.txt", ios::in);
// 以只写方式打开文件 并在文件末尾添加内容
ofstream fout("1.txt", ios::out | ios::app);
// 以读写方式打开文件 并在文件末尾添加内容
fstream fs("1.txt", ios::in | ios::out | ios::app);
文件指针引入 : 使用 输入 / 输出 文件流 打开文件后 , 都有一个文件指针 指向 默认的 文件位置 ;
文件指针作用 : 文件 输入 / 输出 流对象 , 每次读写数据 , 都从 文件指针 指向的位置开始 , 以 文件读取 为例 , 每读取一个字节 , 文件指针就向后移动一个字节 , 如果文件指针移动到文件末尾 , 就会遇到文件结束符 EOF , EOF 全称 End Of File , 值为 -1 ;
文件指针初始位置 : 不同的打开方式 , 对应的 文件指针 初始位置 , 是不同的 , 如 : ios::ate 打开方式打开的文件 , 文件指针默认指向文件末尾 ;
如果想要同时使用 多种打开方式 , 由于 打开方式 只有一个参数位置 , 这里使用 位运算符 |
对 多个 打开方式进行组合 , 如 :
特别注意 : 相互排斥的方式 , 不能进行组合 , 如 : ios::nocreate l ios::noreplace
;
调用 文件输入输出流 的 open() 函数 , 可能会打开失败 , 如果打开失败 , open() 函数返回 0 值 ;
// 创建 文件输入流 对象 并打开
// 1. 首先 , 创建 文件输入流 对象
// 2. 然后 , 文件流对象的 open 函数打开文件
ifstream fin;
if ( fin.open("1.txt", ios::in) == 0 )
cout <<"文件打开错误";
在 文件输入输出流对象 的 构造函数 中直接打开文件 , 如果打开失败 , 则创建 文件输入输出流对象 失败 , 创建的对象值为 0 ;
// 创建 文件输出流 对象
// 1. 与 1.txt 文件关联
// 2. 设置 访问方式 为 输出数据到文件中
ofstream fout("1.txt", ios::out);
if ( fout == 0 )
cout <<"文件打开错误";