博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
seek()和tell()在文件里转移
阅读量:5831 次
发布时间:2019-06-18

本文共 1228 字,大约阅读时间需要 4 分钟。

Seek()方法允许在输入和输出流移动到任意的位置,seek()有好几种形式。包含:seekp()

方法和seekg()方法,p是put的意思,g是get的意思;其中输入流里用seekg()函数,输出流里用seekp()函数;

Seekp()和seekg()有两个重载,第一个是:接受一个参数,接受一个绝对位置,

第二个是接受接受有一个移动位置,第二个参数是起始点。

位置 说明
std::ios_base::beg 定位到流的开头
std::ios_base::cur  定位到流的当前位置
std::ios_base::end 定位到流的结尾

 

 

 

 

#include 
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) { std::ofstream fout("text.out"); if(!fout) { std::cerr << "Error openging the text.out for writing" << std::endl; } fout << "12345"; std::ios_base::streampos curPos = fout.tellp(); if(curPos == 5) { std::cout << "curPos is 5" << std::endl; }else { std::cout << "curPos is not 5" << std::endl; } fout.seekp(2,std::ios_base::beg); fout << 0; fout.close(); //text.out is 12045 std::ifstream fin("text.out"); if(!fin) { std::cerr << "Error openging the text.out for reading" << std::endl; return 1; } int textVal; fin >> textVal; std::cout << textVal << std::endl; return 0;}

最后i的textVal是12045

 

转载于:https://www.cnblogs.com/boost/p/10359091.html

你可能感兴趣的文章
解决 ThinkPHP5 无法接收 客户端 Post 传递的 Json 参数
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>
mysql脚本
查看>>
OllyDBG 入门系列教学--让你瞬间成为破解高手
查看>>
Dubbo点滴(2)之集群容错
查看>>
检测不到兼容的键盘驱动程序
查看>>
listbox用法
查看>>
冲刺第九天 1.10 THU
查看>>
传值方式:ajax技术和普通传值方式
查看>>
Linux-网络连接-(VMware与CentOS)
查看>>
寻找链表相交节点
查看>>
AS3——禁止swf缩放
查看>>
linq 学习笔记之 Linq基本子句
查看>>