函数名: fseek
头文件:<stdio.h>
函数原型: int fseek(FILE *stream, long offset, int fromwhere);
功 能: 重定位流上的文件指针 在流上重新定位文件结构的位置。fseek设置与流stream相联系的文件指针到新的位置,新位置与fromwhere给定的文件位置的距离为offset字节。
参 数: FILE *stream 要重定位的流
long offset 重定位的偏移量
int fromwhere 重定位的位置
返回值: 成功 返回0 ,出错或失败 返回非0值。
补 充: fromwhere的取值必须是0,1或2中的一个分别代表在stdio.h中定义的三个符号常量:
0是SEEK_SET,是文件开始位置;
1是SEEK_CUR,是当前的指针位置;
2时SEEK_END,是文件末尾。
调用了fseek之后,在更新的文件位置上,下一个操作可以是输入;也可以是输出。
程序例:打开文件,将字符串输入到文件流stream中,并重定位到文件的开头,输出文件的长度
#include<stdio.h>longfilesize(FILE*stream);intmain(void){FILE*stream=fopen(myfile.txt,w+);fprintf(stream,www.dotcpp.com);fseek(stream,0,SEEK_END);printf(Filesizeofmyfile.txtis%ldbytesn,ftell(stream));fclose(stream);return0;}
运行结果
Filesizeofmyfile.txtis14bytes