函数名: 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> 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
本文固定URL:https://www.dotcpp.com/course/514