函数名: 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


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)