fstream之seekp/seekg/ios::ate/ios::app
2024-08-28 21:15:31
在程序开发中,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
最新文章
- ExtPB.Net:窗体应用技巧(2)在树形导航下打开弹出的win窗口
- OpenGL函数思考-glLoadIdentity
- JAVA本地远程连接linux程序监控状态
- CentOS终端界面登入Linux
- ESB的XmlProPertyMgr类的getNode(xxx)方法
- C# 程序集反射
- 为ProgressBar进度条设置颜色1
- CAD输出的局部平面坐标数据配准转换到WGS84坐标系
- 关于ActionBar的向下兼容
- B20J_2243_[SDOI2011]染色_树链剖分+线段树
- 同一个tomcat部署多个项目导致启动失败
- jquery.ajax()详解
- A Model of Saliency-Based Visual Attention for Rapid Scene Analysis
- Centos7.3下安装Jumpserver 1.0.0(支持windows组件)
- Python数据分析学习目录
- html/css实现阴影蒙版覆盖原网页并显示浮框的功能
- 使用ffmpeg 推流
- linux dns 工具包 -- bind-utils
- LITTLE-ENDIAN(小字节序、低字节序) BOM——Byte Order Mark 字节序标记 数据在内存中的存放顺序
- html超链接,锚点以及特殊字符
热门文章
- 【数论】【素数判定】CODEVS 2851 菜菜买气球
- IOS,苹果内购和添加广告
- css字体font-family
- SONY 手提 realtek high definition audio driver
- Objective-C:Objective-C 和 Core Foundation 对象相互转换的内存管理
- 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
- [Python爬虫] 之十七:Selenium +phantomjs 利用 pyquery抓取梅花网数据
- 模板:什么是Traits
- Linux——配置使用github
- 让C#可以像Javascript一样操作Json DynamicJson