尝试修改控制流的当前位置。
virtual pos_type seekpos(
pos_type _Sp,
ios_base::openmode _Which = ios_base::in | ios_base::out
);
参数
_Sp
对于查找的位置。_Which
用于指针位置指定模式。默认值为允许您修改读取和写入位置。
返回值
如果文件指针 fp 是null指针,则函数将失败。否则,它竭力通过调用 fsetpos修改流位置(fp,&fposn),其中 fposn 是在 pos存储的 fpos_t 对象。如果该函数成功,则该函数返回 pos。否则,它返回一个无效流位置。若要确定流位置是否无效,则返回值与 pos_type(off_type(-1))比较。
备注
受保护的虚成员函数竭力修改控制流的当前位置。为选件类 basic_filebuf<Elem对象,Tr>,流位置可以由类型表示 fpos_t对象,存储偏移量和所有状态信息需要分析宽流。偏移量零指定流的第一个元素。(类型 pos_type 对象存储至少一 fpos_t 对象。)
对于用于读取和写入打开的文件,输入和输出流一前一后确定。在插入和提取之间切换,必须调用 pubseekoff 或 pubseekpos。调用 pubseekoff (对 seekoff)具有文本流、二进制流和宽流的各种限制。
为宽流,因此,如果任何插入发生,且在打开了流,或者,因为最后一次调用 streampos,函数调用 溢出。它还包含所有订单需要还原初始转换状态中插入,使用文件转换方面 fac 调用 fac.unshift 根据需要。类型 char 的每个元素而生成的 byte 将文件指针指定的关联流中写入 fp,就象由连续调用该窗体 fputc(byte,fp)。如果对 fac.unshift 或任何编写的调用失败,该函数不成功。
要求
标头: <fstream>
命名空间: std