ios::app与ios::ate打开方式有什么不同??
看一个资料上说:
1.ios::app ----写入的数据将被追加在文件的末尾,此方式使用ios::out
2.ios::ate ----写入的数据将被追加在文件的末尾,此方式不使用ios::out
但是我看不懂最后一句,什么叫使用和不使用“ios::out”呢??
ios::out本身不是就是打开一个可写文件吗?
既然都能追加写入了,还能不让写?
谢谢。
answer1:
1.ios::app ----写入的数据将被追加在文件的末尾,此方式使用ios::out
2.ios::ate ----写入的数据将被追加在文件的末尾,此方式不使用ios::out
ios::app 多个线程或者进程对一个文件写的时候,假如文件原来的内容是abc,第一个线程(进程)往里面写了个d,第二个线程(进程)写了个e的话,结果是 abcde
ios:ate的话,后面写的回覆盖前面一个写的,还是上面那个例子的话(第二个后写)结果为abce
answer2:
ofstream流,以ios::app打开(或者“ios::app|ios::out”),如果没有文件,那么生成空文件;如果有文件,那么在文件尾 追加。
以ios::app|ios::in打开,不管有没有文件,都是失败。
以ios::ate打开(或者”ios::ate|ios::out”),如果没有文件,那么生成空文件;如果有文件,那么清空该文件
以ios::ate|ios::in打开,如果没有文件,那么打开失败;如果有文件,那么定位到文件尾,并可以写文件,但是不能读文件
ifstream流,以ios::app打开(“ios::app|ios::out”),不管有没有文件,打开都是失败。
以ios::ate打开(“ios::ate|ios::out”),如果没有文件,打开失败
如果有文件,打开成功,并定位到文件尾,但是不能写文件
fstream流,默认是ios::in,所以如果没有文件,ios::app和ios::ate都是失败,
以ios::app|ios::out,如果没有文件则创建文件,如果有文件,则在文件尾追加
以ios::ate|ios::out打开,如果没有文件则创建文件,如果有,则清空文件。
以ios::ate|ios::out|ios::in打开,如果没有文件,则打开失败,有文件则定位到文件尾
可见:ios::app不能用来打开输入流,即不能和ios::in相配合
而ios::ate可以和ios::in配合,此时定位到文件尾;如果没有ios::in相配合而只是同ios::out配合,那么将清空原文件
可以在《C++ 输入输出流及本地化》1.4.2中找到更详细的描述:(大意)以ios::app方式打开文件,即使修改文件指针,也只能输出到文件尾。实际上以 ios::app打开的文件的
ios::app与ios::ate打开方式有什么不同??相关推荐
- ios::app与ios::ate的区别
文件流 ios::app ios::ate 打开方式 结果 打开方式 结果 ofstream (默认是ios::in | ios::trunc) ios::app或ios::app|ios::out ...
- C++ ifstream ofstream 用法解析(iostream、fstream头文件)(ios::app、ios::ate、ios::in、ios::out、ios::trunc)(未完)
参考文章1:C++文件读写详解(ofstream,ifstream,fstream) 参考文章2:C++ 文件和流 文章目录 C++ 文件和流 打开文件 关闭文件 写入文件 读取文件 读取 & ...
- 防护IOS APP安全的几种方式
1.URL编码加密 对iOS app中出现的URL进行编码加密,防止URL被静态分析 2.本地数据加密 对NSUserDefaults,sqlite存储文件数据加密,保护iOS app的帐号和关键信息 ...
- iOS ----------怎么修改xcode默认打开方式
很简单就能解决:选中文件,右键,显示简介,打开方式,选择8.2.然后打钩. 转载于:https://www.cnblogs.com/KiVen2015/p/6635728.html
- 2022 ios APP最新iOS开发上架测试教程
2022 ios APP最新开发测试教程 本文详细介绍最新的在windows上进行ios app开发编译打包安装到手机测试的完整流程.介绍ios开发经常遇到的问题和解决方法,包括ios开发证书,ios ...
- ios app安装的四种方式
第一种,用户直接通过App Store下载安装 苹果官方通过非对称加密生成一对公私钥,在iOS设备内置了一个公钥,在苹果后台保存了对应的私钥,在开发者把app上传到App Store时,苹果用私钥对这 ...
- 微信浏览器打开ios App Store 并且可以打开或下载pp
下面就是关键了 var url = "https://itunes.apple.com/cn/app/idxxxxx"; setTimeout(function() ...
- ofstream之ios::ate,ios::app,ios::in,ios::out
ofstream流,以ios::app打开(或者"ios::app|ios::out"),如果没有文件,那么生成空文件:如果有文件,那么在文件尾追加. 以ios::app|ios: ...
- iOS App 连接外设的几种方式
原创作者: Max_Marry 文章地址: http://www.jianshu.com/p/852bf92c5c92 随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的 App ...
最新文章
- 腾讯万亿级 Elasticsearch 技术解密
- 全链路压测体系建设方案的思考与实践
- 【CVPR2020来啦】不容错过的29个教程Tutorial !(附Slides下载链接)
- python在日常工作处理中的应用-Python全栈开发在实际工作中的应用
- 谈谈高并发系统的限流
- 方舟服务器修改错误,方舟进服务器提示网络错误怎么办 | 手游网游页游攻略大全...
- 数论 欧几里得与扩展欧几里得
- java非阻塞锁_Java并发问题的非阻塞解决方案
- 29 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义分配
- 是哪个app_互联网APP创业哪个好
- SpringBoot之Bean之条件注入@ConditionalOnProperty
- 03 Python爬虫之Requests网络爬取实战
- 【NLP】目前有比Topic Model更先进的聚类方式么?比如针对短文本的、加入情感分析的?...
- .net 2.0 服务器应用程序不可用 解决方案集
- How To Read C Declarations
- 电脑自带蓝牙与HC-06蓝牙模块使用串口助手通信
- 3亿流量还能让Keep错几次?
- 计算机应用公式基础教学教案,《终稿[定稿]大学计算机应用基础全册教案版》...
- 用计算机中的知识秀恩爱,用你的专业,说最美的情话......
- qurlinfo在qt5中_QT5编译使用QFtp的方法步骤
热门文章
- c语言万年历查询程序代码,C语言 万年历程序(示例代码)
- 【数据结构与算法】之深入解析“石子游戏”的求解思路与算法示例
- 我的Go+语言初体验--Go+之环境安装与程序编码初体验
- RxSwift之UI控件UISlider与UIStepper扩展的使用
- HarmonyOS之常用布局StackLayout的使用
- Swift之本地国际化与App内切换语言
- Django框架搭建
- 安装好Pycharm后如何配置Python解释器简易教程(configure python interpreter)
- Dev-C++实现调试功能
- 【STM32】窗口看门狗相关类型和函数