函数名: fseek
头文件:
函数原型: 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
long filesize(FILE *stream);
int main(void){
FILE *stream = fopen("myfile.txt", "w+");
fprintf(stream, "www.dotcpp.com");
fseek(stream, 0, SEEK_END);
printf("Filesize of myfile.txt is %ld bytes\n", ftell(stream));
fclose(stream);
return 0;
}
运行结果Filesize of myfile.txt is 14 bytes