C++二进制文件读取时怎么定位

 我来答
9979496
2017-07-07 · TA获得超过1175个赞
知道小有建树答主
回答量:850
采纳率:100%
帮助的人:616万
展开全部

楼主可知道有个函数叫做 fseek ?

int fseek(FILE * stream, long offset, int fromwhere); // in stdio.h/cstdio

参数stream为文件指针,offset为偏移量,fromwhere为指针的起始位置。

参数 offset 为根据参数 fromwhere 来移动读写位置的位移数。参数 fromwhere 为下列其中一种:

SEEK_SET:从距文件开头 offset 位移量为新的读写位置;

SEEK_CUR:以目前的读写位置往后增加 offset 个位移量;

SEEK_END:将读写位置指向文件尾后再增加 offset 个位移量。


当 fromwhere 为 SEEK_CUR 或 SEEK_END 时,参数 offset 允许负值的出现。

对于以二进制方式打开的文件流,移动后的位置为 fromwhere + offset。

【返回值】成功返回 0,否则返回非 0 值。如果发生读写错误,将会设置设置文件错误标识。

如果为重定向,请在 stream 处填写stdin 。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式