ftell() 返回当前文件位置,也就是说返回FILE指针当前位置。
函数 ftell() 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。
ftell(fp);利用函数 ftell() 也能方便地知道一个文件的长。如以下语句序列: fseek(fp, 0L,SEEK_END); len =ftell(fp)+1; 首先将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数
#include <stdio.h>
int main()
{
FILE *stream;
long position;
char list[100];
/* rb+ 读写打开一个二进制文件,允许读数据。*/
if (fopen_s(&stream,"myfile.c","rb+")==0)
{
fread(list,sizeof(char),100,stream);
//get position after read
position=ftell(stream);
printf("Position after trying to read 100 bytes:%ld\n",position);
fclose(stream);
stream=NULL;
}
else
{
fprintf(stdout,"error!\n");
}
system("pause");
return 0;
}