C++文件流问题 打开方式ios::app和ios::ate有什么区别?
我看了书上的ios::app已追加方式打开文件,打开后文件指针在文件尾部,可改写。ios::ate打开已存在的文件,文件指针指向文件尾部,可读可写。这两个不能混用吗?看起...
我看了书上的 ios::app已追加方式打开文件,打开后文件指针在文件尾部,可改写。
ios::ate打开已存在的文件,文件指针指向文件尾部,可读可写。
这两个不能混用吗?看起来差不多但是在实际代码中改了程序却不能运行了。 展开
ios::ate打开已存在的文件,文件指针指向文件尾部,可读可写。
这两个不能混用吗?看起来差不多但是在实际代码中改了程序却不能运行了。 展开
展开全部
ios::app默认以写的方式打开文件
而ios::ate默认以读的方式打开文件
如果要打开的文件不存在,那么ios::app将生成这个文件(空),而ios::ate将打开失败
其实可以这样想:app是append(添加)的意思,这个词本身就带有写的意思,而ate是at end的意思,只是单纯的“找到文件尾的意思”没有指明是读还是写,所以就默认为以读方式打开文件。
当然,二者都可以跟ios::in和ios::out相配合,当和ios::in配合时,两者行为一致,都是以读方式打开;当和ios::out配合时,行为也是一致的,都是以写方式打开文件
而ios::ate默认以读的方式打开文件
如果要打开的文件不存在,那么ios::app将生成这个文件(空),而ios::ate将打开失败
其实可以这样想:app是append(添加)的意思,这个词本身就带有写的意思,而ate是at end的意思,只是单纯的“找到文件尾的意思”没有指明是读还是写,所以就默认为以读方式打开文件。
当然,二者都可以跟ios::in和ios::out相配合,当和ios::in配合时,两者行为一致,都是以读方式打开;当和ios::out配合时,行为也是一致的,都是以写方式打开文件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询