C++ fstream 的易错的用法

在写C++读写文件的时候,有时我们需要用到多种方式 ,读写是最基本的。但是IOS下有多种文件读写方式。我们应该认真的区分它们的异同点:

均经过测试:

1.iso::out (文件以输出方式打开)

特点:如果这个文件不存在,那么执行此命令会新建文件。如果文件存在,那么会删除源文件,再新建一个(其实可以这样理解,它是从头开始写的)。即会将已存在文件内的内容都给清空。

2.iso::in(文件以输入方式打开)

特点:如果这个文件不存在,那么执行此命令不会新建文件。如果文件存在,保留源文件内容。

3:iso::in | iso::out(文件以读写方式打开) 

特点:如果这个文件不存在,那么执行此命令不会新建文件。如果文件存在,保留源文件内容。

4:iso::app(文件以追加方式打开)

特点:如果这个文件不存在,那么执行此命令会新建文件。如果文件存在,则会保留原来文件的内容(其实可以这样理解:它是追加方式的。)。

5:iso:ate(打开时定位到文件尾)

特点 :如果这个文件不存在,那么执行此命令不会新建文件。如果文件存在,保留源文件内容。

6:iso:trunc(截取文件内容为0)

特点:谁知道。。应该是能将文件内容清空的。但是测试结果相反。。求指教。。!!!!

7:ios::nocreate: 不建立文件,所以文件不存在时打开失败(ios中已经去除)

8:ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败(iso已经去除)

虽然经过我自己的测试,但是有些用法与百度文库有出入。。以后再完善吧。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值