int fseek(FILE *fp, long offset, int whence);
FILE 类型的对象可以具有一个“位置”,用于记录您的程序已经读取了多少文件内容。许多 stdio 函数依赖于该位置,并且许多函数会将其作为副作用进行改变。
您可以使用 fseek 为 fp 所标识的文件设置位置。offset 的值决定新位置,具体方式由 whence 的值(在 `stdio.h' 中定义为宏)从以下三种方式中选择一种:
SEEK_SET : offset 是所需的绝对文件位置(即距离文件开头的偏移量)。offset 必须为正数。
SEEK_CUR : offset 相对于当前文件位置。offset 可以有意义地为正数或负数。
SEEK_END : offset 相对于当前文件末尾。offset 可以有意义地为正数(以增加文件大小)或负数。
请参阅 ftell 以确定当前文件位置。### 返回值
fseek 成功时返回 0。如果 fseek 失败,结果为 EOF。失败原因在 errno 中指示:要么是 ESPIPE(fp 所标识的流不支持重新定位),要么是 EINVAL(无效的文件位置)。
**权威来源**: BUSMASTER DITA help source `fseek.dita`, compiled into `BUSMASTER.CHM` with the application.