读文件时输入流ifstream中函数tellg()与seekg()的详解与示例
来源:互联网 发布:网络推广文案典型案例 编辑:程序博客网 时间:2024/06/04 19:45
读取文件时有时会需要回退
比如读完第n行想回退到第n-1行再读一次n行
或者读字符时想回退到n个字符之前
比如读完第n行想回退到第n-1行再读一次n行
或者读字符时想回退到n个字符之前
都可以使用tellg()和seekg()
tellg() 用于在输入流中获取位置
seekg()用于设置在输入流中的位置
其实本质上文件读写就是一个指针指向文件中某个位置后进行读写,所以简单来说tellg()和seekg()都是用于设置该指针的位置的。
//tellg()定义:streampos tellg();//返回一个整型数,代表读指针的位置//example:streampos pos = tellg();//将tellg()返回的指针位置赋值给pos
//seekg()定义:istream& seekg (streampos pos);//将读指针设置到pos位置istream& seekg (streamoff off, ios_base::seekdir way);//将读指针设置为way+off,其中off 代表偏移值,而way代表基址
来个示例:
int main(){ifstream in("in.txt");string line;streampos pos = tellg();//记录当前指针位置int i = 10;while (i--) {//读到第11行之前getline(in, line);}in.seekg(pos);//将指针指回第1行,可以重新读一次return 0;}
reference:
http://www.cplusplus.com/reference/istream/istream/tellg/
http://www.cplusplus.com/reference/istream/istream/seekg/
阅读全文
1 0
- 读文件时输入流ifstream中函数tellg()与seekg()的详解与示例
- seekg()与tellg()用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解 .
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()/seekp()与tellg()/tellp()的用法详解
- seekg()与tellg()用法
- C++:fstream类中seekg()/seekp()与tellg()/tellp()的用法详解
- seekg() 与 tellg() 的用法及功能
- C++流 rdbuf()以及seekg()/seekp()与tellg()/tellp()的用法详解
- C++流 rdbuf()以及seekg()/seekp()与tellg()/tellp()的用法详解
- 文件流操作tellg(),seekg()
- seekg()与tellg()相关文件操作
- seekg()与tellg()相关文件操作
- linux安装opencv,执行cmake .报错 求大神!!
- js动态新增/删除table表的行和列
- Kubernetes技术分析之资源管理
- caffe layer的继承关系
- Mac ssh工具
- 读文件时输入流ifstream中函数tellg()与seekg()的详解与示例
- 深入探索 Java 热部署
- android大图、高清图片处理
- linux常用命令
- 1225 八数码难题
- Win form性能优化工具Stopwatch
- 服务的四种启动方式
- shiro学习笔记3——组件之授权
- Android app中将图片保存到本地相册并自命名相册名的代码方法