尝试修改控制流的当前位置。
virtual pos_type seekoff(
off_type _Off,
ios_base::seekdir _Way,
ios_base::openmode _Which = ios_base::in | ios_base::out
);
参数
_Off
对于查找的位置相对于 _Way的。_Way
为偏移量操作起始点。为可能的值参见 seekdir。_Which
用于指针位置指定模式。默认值为允许您修改读取和写入位置。
返回值
返回新位置或无效流位置。
备注
受保护的虚成员函数竭力修改控制流的当前位置。对于选件类 basic_filebuf<Elem 对象,Tr>,流位置可以由类型表示 fpos_t对象,存储必要的偏移量和所有状态信息来分析宽流。偏移量零指定流的第一个元素。(类型 pos_type 对象存储至少一 fpos_t 对象。)
对于用于读取和写入打开的文件,输入和输出流一前一后确定。在插入和提取之间切换,必须调用 pubseekoff 或 pubseekpos。调用 pubseekoff (对 seekoff)具有 文本流、二进制流和 宽流的各种限制。
如果文件指针 fp 是null指针,则函数将失败。否则,它竭力通过调用 fseek修改流位置(fp、_Off,_Way)。如果该函数成功,然后将得到的位置 fposn 可以依赖于调用 fgetpos(fp,&fposn),该函数成功。如果函数成功,则返回包含 fposn的类型 pos_type 的值。否则,它返回一个无效流位置。
要求
标头: <fstream>
命名空间: std