使用fstream进行文件读写时如何选择文件打开方式

一、fstream文件打开方式。

      ios::in              input         以输入方式打开文件。

      ios::out           output        以输出方式打开文件。

      ios::app          append     以追加方式打开文件。


      ios::ate           at end        打开文件时,定位到文件尾。

      ios::binary      binary        以二进制方式打开文件,默认是文本方式。

      ios::trunc        truncate    打开文件时,把文件长度截断为0。

二、打开方式区别

2.1 可以单独使用的打开方式

      ios::in             文件不存在,则失败

      ios::out           文件不存在,则创建

      ios::app         文件不存在,则创建

     1. 以上3者,可以单独使用。

     2. ios::app 与任何一个使用,都是文件不存在则创建:ios::app | ios::in、ios::app | ios::out、ios::app | ios::in | ios::app。

     3. ios::in | ios::out文件不存在则失败。


2.2 不可单独使用的打开方式


      ios::ate           文件存在不存在,都失败 

      ios::binary      文件存在不存在,都失败 

      ios::trunc        文件存在不存在,都失败

     1. 以上3者不能单独使用,需要与2.1中的打开方式配合使用,并具有上面的属性。

     2. ios::ate、 ios::binary 可以与上面任何一个配合使用。

     3. ios::trunc ,必须有ios::out配合使用。



以上内容转载自:https://blog.csdn.net/guowenyan001/article/details/17282795


补充:

    ios::app 和 ios::trunc 一起使用将无法创建文件。


阅读更多

没有更多推荐了,返回首页