在写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已经去除)
虽然经过我自己的测试,但是有些用法与百度文库有出入。。以后再完善吧。。。