美文网首页
C++ 文件读写 fstream/ifstream/ofstre

C++ 文件读写 fstream/ifstream/ofstre

作者: andyhacker | 来源:发表于2021-02-03 12:06 被阅读0次

写这篇文章初衷为在使用ofstream时,想在文件末尾追加,但是设置seekp(0,ios::end),每次仍然会覆盖掉之前内容。

1- ofstream流

  • 以ios::app打开(或者“ios::app|ios::out”),如果没有文件,那么生成空文件;如果有文件,那么在文件尾追加。
  • 以ios::app|ios::in打开,不管有没有文件,都是失败。
  • 以ios::ate打开(或者”ios::ate|ios::out”),如果没有文件,那么生成空文件;如果有文件,那么清空该文件
  • 以ios::ate|ios::in打开,如果没有文件,那么打开失败;如果有文件,那么定位到文件尾,并可以写文件,但是不能读文件

2- ifstream流

  • 以ios::app打开(“ios::app|ios::out”),不管有没有文件,打开都是失败。
  • 以ios::ate打开(“ios::ate|ios::out”),如果没有文件,打开失败
    如果有文件,打开成功,并定位到文件尾,但是不能写文件

3- fstream流

  • 默认是ios::in,所以如果没有文件,ios::app和ios::ate都是失败,

  • 以ios::app|ios::out,如果没有文件则创建文件,如果有文件,则在文件尾追加

  • 以ios::ate|ios::out打开,如果没有文件则创建文件,如果有,则清空文件。

  • 以ios::ate|ios::out|ios::in打开,如果没有文件,则打开失败,有文件则定位到文件尾

可见:ios::app不能用来打开输入流,即不能和ios::in相配合
而ios::ate可以和ios::in配合,此时定位到文件尾;如果没有ios::in相配合而只是同ios::out配合,那么将清空原文件
(ios::ate|ios::in–>在原文件尾追加内容;ios::ate—>清空原文件,ios::out是默认必带的,可加上也可不加,对程序无影响)

相关文章

  • C++ 文件读写 fstream/ifstream/ofstre

    写这篇文章初衷为在使用ofstream时,想在文件末尾追加,但是设置seekp(0,ios::end),每次仍然会...

  • 文件读写

    fstream 二进制文件读写

  • c++文件读写

    ifstream ifs;连续读写文件时: ifstream 是有状态的对象,一个 ifstream 操作完后一般...

  • 读写文件

    知识点 ofstream和ifstream是由头文件定义的2个类,分别负责输入和输出 fin总是...

  • C++文件读写详解(ofstream,ifstream,fstr

    原文章链接地址http://blog.csdn.net/kingstar158/article/details/6...

  • c++ ifstream 读写模式

    os :: app打开要附加的输出文件。ios :: ate打开一个现有文件(输入或输出)并寻找结尾。ios ::...

  • C++文件操作

    说明 假定文件流对象为 fstream fs; 读写模式打开文件时,需要使用 ios::in | ios::ou...

  • c++中ifstream,ofstream和fstream的使用

    更多精彩尽在原文地址 iOS开发之家 一、C++中IO库类型c++中的IO库类型和头文件如下: 各种IO库类型对应...

  • 3.c++标准库

    8.IO库 IO类 三个头文件: iostream 定义了用于读写流的基本类型 fstream 定义了读写命名文件...

  • 2018-12-08

    c++ ifstream 和 ofstream

网友评论

      本文标题:C++ 文件读写 fstream/ifstream/ofstre

      本文链接:https://www.haomeiwen.com/subject/vnrstltx.html