您的位置:首页 > 编程语言 > C语言/C++

C++ fstream 的易错的用法

2012-10-20 17:50 232 查看
在写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已经去除)

虽然经过我自己的测试,但是有些用法与百度文库有出入。。以后再完善吧。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: