fseek()函数用于在流上重新定位文件结构的位置。
fseek()函数 语法
int fseek(FILE*p,long offset,int position);
参数p为要重定位的流;
参数offset为重定位的偏移量;
参数position为重定位的位置。
fseek()函数成功执行时返回0,出错或失败时返回非0值。
fseek()函数 示例
本示例是使用fseek函数将p所指向的文件指针重新定位到距离文件开头24字节处,其具体代码如下所示:
#include<stdio.h>
void main()
{
FILE*p;
char line[81];
int result;
p=fopen("1.txt","w+");/*以写的方式打开文件*/
if(p==NULL)
printf("the 1.txt was not opened! ");
else
{
fprintf(p,"The fseek begins here:""It is the file'1.txt'. ");/*按照规定格式将字符串写入文件*/
result=fseek(p,24L,SEEK_SET);/*将文件指针定位到距离文件开头24字节处*/
if(result)
perror("Fseek failed");/*重定位失败*/
else
{
printf("File pointer is set to middle of first line. ");
fgets(line,80,p);/*从p指向的文件中读取字符串*/
printf("%s",line);/*输出读取字符串*/
}
fclose(p);/*关闭文件*/
}
}
运行结果如图所示: