C++二进制文件读取时怎么定位
1个回答
展开全部
楼主可知道有个函数叫做 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 。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询