seek()和tell()在文件里转移
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 <iostream>
#include <fstream>
/* 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 << "";
std::ios_base::streampos curPos = fout.tellp();
if(curPos == )
{
std::cout << "curPos is 5" << std::endl;
}else
{
std::cout << "curPos is not 5" << std::endl;
} fout.seekp(,std::ios_base::beg);
fout << ;
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 ;
} int textVal;
fin >> textVal;
std::cout << textVal << std::endl; return ;
}
最后i的textVal是12045
seek()和tell()在文件里转移的更多相关文章
- 如果文件里是汉字的话,这地方seek括号里面只能是偶数
>>> f=open("E:/pythonLearn/140.txt") >>> f.seek(8) #如果文件里是汉字的话,这地方seek括号 ...
- [转]Windows7文件夹转移清理臃肿的C盘
当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...
- 从java文件和CS文件里查询方法使用次数工具
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...
- supercool.sh文件里,有哪些恶意的命令
当你在一个bash命令行中输入"*"时,bash会扩展到当前目录的所有文件,然后将他们全部作为参数传递给程序.例如:rm *,将会删除掉当前目录的所有文件. 0x01 文件名被当做 ...
- html文件里引入文件html文件
导入通用的代码除了使用php外 iframe在很多界面使用起来比较方便 比如说要写导航 在好几个界面都要用这个导航 可以用iframe引用 实例:这个header.html是我写的一个导航界面 在in ...
- 头文件里面的ifndef /define/endif的作用
c,c++里面,头文件里面的ifndef /define/endif的作用 今天和宿舍同学讨论一个小程序,发现有点地方不大懂······ 是关于头文件里面的一些地方: 例如:要编写头文件test.h ...
- [WinAPI] API 3 [获取系统目录,并保存在文件里]
/* 获取系统目录,并保存在文件里 [peoject->set->link->project chose->subsystem:console] */ #include< ...
- android.mk文件里的通配符
比方你有如下目录,要编译Classes目录和Code目录下所有cpp src |-android.mk |-Classes |-A.cpp |-B.cpp |-....cpp |-Code |-E.c ...
- Android -- Layout布局文件里的android:layout_height等属性为什么会不起作用?
有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比如我们设置了android:layout_marginTop="100dip ...
随机推荐
- 5 springboot 集成dubbo
Apache Dubbo 是一款高性能Java RPC框架 由阿里巴巴开源并进入Apache孵化器,官网 http://dubbo.apache.org 提供服务化基础功能: 接口远程调用,智能负载均 ...
- 12、springboot注解
@RestController和@Controller import java.lang.annotation.Documented; import java.lang.annotation.Elem ...
- 使用 NamedScope 扩展 Ninject 的 InRequestScope
背景 C#,Ninject,定期执行某计划任务.首先想到的是使用 Quartz 来安排计划任务,于是看是否有相应的集成.果然有:https://github.com/dtinteractive/Nin ...
- PAT 1052. Linked List Sorting
这场考试当年还参加了,当时直接用内置的排序了,否则自己写归并排序浪费时间啊,现在来练习一发.估计又有些节点没在链表里面,当时没考虑这个情况,所以一直有些case没过 #include <iost ...
- Spring cloud Zuul网关异常处理
Spring cloud Zuul网关异常处理 一 异常测试: 1> 创建一个pre类型的过滤器,并在该过滤器的run方法实现中抛出一个异常.比如下面的实现,在run方法中调用的doSometh ...
- 第三天-基本数据类型 int bool str
# python基础数据类型 # 1. int 整数 # 2.str 字符串.不会用字符串保存大量的数据 # 3.bool 布尔值. True, False # 4.list 列表(重点) 存放大量的 ...
- Ubuntu16.04(Linux)安装JDK
Ubuntu 安装JDK的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 第一种:使用ppa ...
- ThreeJS模拟人沿着路径运动-路径箭头使用纹理offset偏移
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux菜鸟简单命令
想要使用Linux,以下这些命令不可少的哦! 我在工作中经常用到的大多数都是一些文件的查找,和上传下载什么的,没什么技术含量,所以除了自己整理的之外,还有借鉴的别的大神的一些命令,我会在最后标注的\( ...
- 软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读. 一.另一条路 作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...