在程序开发中,IO处理无处不在,经常会在代码中遇到特殊的IO处理需求

1、描述

需求:如果文件不存在则创建,存在则打开,然后先读取文件的末行,然后在文件末尾写入。

代码:

#include <iostream>
#include <fstream>
#include <string> using namespace std; int main(int argc, char **argv)
{
fstream fst;
string strTemp;
fst.open("test3", ios::in | ios::out);
//fst.seekp(0, fstream::beg);
while (!fst.eof())
{
getline(fst, strTemp);
cout << strTemp << endl;
}
cout << strTemp; fst.seekg(, fstream::end);
fst << "\nhhfdsfds";
fst.close();
return ;
}

因为fstream对象是作为读写同时打开的,在读和写转换之间,会使流失效,这个具体还要去参考《标准C++输入输出流与本地化》这本书。

2、ios::ate/ios::app的区别

ios::ate是使文件打开时将文件读取位置移动到文件尾

ios::app是打开文件并在文件尾部添加数据

3、seekp/seekg的区别

seekp是指设置输入流的文件读取位置,对应读取输入流的文件读取位置为tellp

seekg是指设置输出流的文件插入位置,对应读取输出流的文件插入位置为tellg

最新文章

  1. ExtPB.Net:窗体应用技巧(2)在树形导航下打开弹出的win窗口
  2. OpenGL函数思考-glLoadIdentity
  3. JAVA本地远程连接linux程序监控状态
  4. CentOS终端界面登入Linux
  5. ESB的XmlProPertyMgr类的getNode(xxx)方法
  6. C# 程序集反射
  7. 为ProgressBar进度条设置颜色1
  8. CAD输出的局部平面坐标数据配准转换到WGS84坐标系
  9. 关于ActionBar的向下兼容
  10. B20J_2243_[SDOI2011]染色_树链剖分+线段树
  11. 同一个tomcat部署多个项目导致启动失败
  12. jquery.ajax()详解
  13. A Model of Saliency-Based Visual Attention for Rapid Scene Analysis
  14. Centos7.3下安装Jumpserver 1.0.0(支持windows组件)
  15. Python数据分析学习目录
  16. html/css实现阴影蒙版覆盖原网页并显示浮框的功能
  17. 使用ffmpeg 推流
  18. linux dns 工具包 -- bind-utils
  19. LITTLE-ENDIAN(小字节序、低字节序) BOM——Byte Order Mark 字节序标记 数据在内存中的存放顺序
  20. html超链接,锚点以及特殊字符

热门文章

  1. 【数论】【素数判定】CODEVS 2851 菜菜买气球
  2. IOS,苹果内购和添加广告
  3. css字体font-family
  4. SONY 手提 realtek high definition audio driver
  5. Objective-C:Objective-C 和 Core Foundation 对象相互转换的内存管理
  6. 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
  7. [Python爬虫] 之十七:Selenium +phantomjs 利用 pyquery抓取梅花网数据
  8. 模板:什么是Traits
  9. Linux——配置使用github
  10. 让C#可以像Javascript一样操作Json DynamicJson