fsetpos()函数用于将文件指针定位在指定的位置上。
fsetpos()函数 语法
int fsetpos(FILE*p,const fpos_t*pos);
参数p为要定位的文件流;
参数pos为要定位的指针位置。
fsetpos()函数成功执行时返回0,否则返回非0值。
fsetpos()函数 示例
本示例使用fsetpos函数将文件指针p按照pos指定的位置在文件中定位,其具体代码如下所示:
#include<stdio.h>
void main()
{
FILE*p;
fpos_t pos;
char s[20];
if((p=fopen("1.txt","rb"))==NULL)/*以只读的方式打开文件*/
printf("Open file! ");
else
{
pos=4;/*设置要定位的位置*/
if(fsetpos(p,&pos)!=0)
perror("Fsetpos failed");/*定位失败*/
else
{
fread(s,sizeof(char),12,p);/*重新定位,使文件开始读取12个字符到s中*/
printf("12 bytes at byte%ld:%.12s ",pos,s);/*输出字符串*/
}
}
fclose(p);/*关闭文件*/
}
运行结果如图所示: