700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言:fseek与ftell函数

C语言:fseek与ftell函数

时间:2022-08-02 11:38:44

相关推荐

C语言:fseek与ftell函数

fseek函数

作用: 用来设定文件的当前读写位置.

函数原型::int fseek(FILE *fp,long offset,int origin);

函数功能:把fp的文件读写位置指针移到指定的位置

第一个参数stream为文件指针

第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移

第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

SEEK_SET: 文件开头

SEEK_CUR: 当前位置

SEEK_END: 文件结尾

其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.

例如:

fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;

fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;

fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。

ftell函数

作用:用来获取文件的当前读写位置;

函数原型: long ftell(FILE *fp)

函数功能:得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数.

例如:

lsize=ftell(fp); 是获取fp指定的文件的当前读写位置,并将其值传给变量lsize

fseek函数与ftell函数综合应用:

分析:可以用fseek函数把位置指针移到文件尾,再用ftell函数获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.

#include <stdio.h>main(){FILE *fp;char filename[80];long length;printf("输入文件名:");gets(filename);//以二进制读文件方式打开文件fp=fopen(filename,"rb");if(fp==NULL)printf("file not found!\n");else{//把文件的位置指针移到文件尾fseek(fp,OL,SEEK_END);//获取文件长度;length=ftell(fp);printf("该文件的长度为%1d字节\n",length);fclose(fp);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。