ftell

王朝百科·作者佚名  2010-01-15
窄屏简体版  字體: |||超大  

函数名: ftell

功 能: 返回当前文件指针

用 法: long ftell(FILE *stream);

程序例:

#include <stdio.h>

int main(void)

{

FILE *stream;

stream = fopen("MYFILE.TXT", "w+");

fprintf(stream, "This is a test");

printf("The file pointer is at byte

%ld

", ftell(stream));

fclose(stream);

return 0;

}

ftell()函数用于获取文件位置指针。

函数 ftell() 用于得到文件当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。调用函数ftell()就能非常容易地确定文件的当前位置。

函数 ftell() 的调用形式为

ftell(fp);利用函数 ftell() 也能方便地知道一个文件的长。如以下语句序列: fseek(fp, 0L,SEEK_END); len =ftell(fp); 首先将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数。

读入文件时的ftellftell一般用于读取文件的长度,下面补充一个例子,读取文本文件中的内容:

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *fp;

int flen;

char *p;

/* 以只读方式打开文件 */

if((fp = fopen ("1.txt","r"))==NULL)

{

printf("

file open error

");

exit(0);

}

fseek(fp,0L,SEEK_END); /* 定位到文件末尾 */

flen=ftell(fp); /* 得到文件大小 */

p=(char *)malloc(flen+1); /* 根据文件大小动态分配内存空间 */

if(p==NULL)

{

fclose(fp);

return 0;

}

fseek(fp,0L,SEEK_SET); /* 定位到文件开头 */

fread(p,flen,1,fp); /* 一次性读取全部文件内容 */

p[flen]=0; /* 字符串结束标志 */

printf("%s",p);

fclose(fp);

free(p);

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航