ofstream之ios::ate,ios::app,ios::in,ios::out
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配合,那么将清空原文件
(ios::ate|ios::in–>在原文件尾追加内容;ios::ate—>清空原文件,ios::out是默认必带的,可加上也可不加,对程序无影响)
可以在《C++ 输入输出流及本地化》1.4.2中找到更详细的描述:(大意)以ios::app方式打开文件,即使修改文件指针,也只能输出到文件尾。实际上以ios::app打开的文件的写入,和文件指针五关。
(这里就指出了ate和app的关键区别,app只能在尾部追加,ate可以配合指针修改文件中的部分内容。)
奇怪的是:《C++ 输入输出流及本地化》和《C++编程思想》都说以ios::ate打开的文件,文件指针都会定位到文件尾且不清空文件,但是我发现ios::ate如果不和ios::in配合的话,将清空原文件
ofstream之ios::ate,ios::app,ios::in,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::ate ios::app ios::out ios::in ios::trunc ios::binary(组合总结)
一.情况1 [file1会被截断] ofstream out("file1"); ofstream out("file1", ofstream::out); o ...
- ios::app与ios::ate打开方式有什么不同??
看一个资料上说: 1.ios::app ----写入的数据将被追加在文件的末尾,此方式使用ios::out 2.ios::ate ----写入的数据将被追加在文件的末尾,此方式不使 ...
- ios::app与ios::ate的区别
文件流 ios::app ios::ate 打开方式 结果 打开方式 结果 ofstream (默认是ios::in | ios::trunc) ios::app或ios::app|ios::out ...
- iOS 走近商城 APP(三 WKWebView 商品规格选择框架封装)
原文链接:http://www.jianshu.com/p/293ee1bfe104 商城 -- 由 3033 分享 开篇 忽然发现最近也只有值班才能写东西了,中间更新了两篇其他的断了下商城相关的文章 ...
- iOS progressive Web App (PWA) 技术
随着 iOS 11.3 的发布,iOS + PWA 的时代终于来了!本文对 iOS 中 PWA 的能力进行了分析,并将其与 iOS 上的 Native App.Android 上的 PWA 进行了深度 ...
- iOS走近商城APP(四 runloop应用 获取通讯录并处理)
###开篇 转眼又要过年了,我的程序员生涯默默的又过了一年,年终篇就先闲扯几句.从接触简书到写第一篇到现在差不多也将近一年了,简书的布局风格确实是赏心悦目,习惯了这种写法之后,再看以前的博客感觉好乱, ...
- iOS 跳转App的二三事
前言 在iOS平台上,经常有这样的需求,当用户在操作的时候需要唤醒或者说跳转到另外一个App中进行操作. 这其中的类型又分为: App -> App 浏览器web页面 -> App 第一种 ...
- 给iOS 模拟器“安装”app文件
前言 刚刚接触iOS的时候,我就一直很好奇,模拟器上面能不能直接安装app呢?如果可以,我们就直接在模拟器上面聊QQ和微信了.直到昨天和朋友们聊到了这个话题,没有想到还真的可以给模拟器"安装 ...
最新文章
- Jquery真的不难~第八回 JS的闭包问题
- UA MATH571B 试验设计 2k析因设计理论下
- 启明云端分享|ESP32/ESP8266 烧录器 USB-TTL转接板开发工具ESP-T01的使用教程,视频可参考B站
- python基础-类的继承
- 2017蓝桥杯省赛---java---C---2(兴趣小组)
- 利用 dbghelp.dll 生成 dump 文件
- Codeforces 138C(区间更新+离散化)
- Python稳基修炼之计算机等级考试易错概念题6(含答案)
- Android - Broadcast机制
- SpringBoot整合定时任务(在线Cron表达式生成器)
- RESTClient用法
- 基于角色得后台权限管理系统设计(一、表设计)
- 通过js操作jwplayer来播放暂停
- 一个逆向程序猿的必备技能
- 如何用计算机控制三相电机,计算机控制 课程设计 三相步进电机控制.docx
- kappa一致性检验教程_一致性检验(kappa一致性分析)
- OneZero第四周第二次站立会议(2016.4.12)
- 218. 天际线问题
- MOOS程序解析记录(7)pMarinePID解析
- DIY激光枪薄纱蟑螂!AI杀蚊子博士新作,项目已开源