今天学习linux下定位流的一些知识,想通过写博客,巩固下。
首先,在标准IO库中,主要的定位流函数有fseek,rewind,ftell,fsetpos,fgetpos等。在这主要介绍fsetpos和fgetpos,因为其他相对简单。
fsetpos函数原型为:
#include<stdio.h>
int fsetpos(FILE *stream,fpos_t *pos)
其中,stream为FILE结构指针,指向一个打开的文件流。fpos_t为一个结构体,在ubuntu中,该结构体的定义在/usr/include/_G_config.h头文件中,打开该头文件,得到如下定义:
在设置偏量时,只要设置__pos即可(注意:是两个下划