#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp;
char ch[10];
if((fp=fopen("test4.txt","rt"))==NULL)
{
printf("Cannot open file!\n");
exit(1);
}
printf("打开文件时,位置指针的值为:%ld\n",ftell(fp));
fgetc(fp);
printf("读取一个字符后,位置指针的值为:%ld\n",ftell(fp));
fgets(ch,10,fp);
printf("继续读取10个字符后,位置指针的值为:%ld\n",ftell(fp));
system("pause");
return 0;
}
运行结果:
打开文件时,位置指针的值为:0
读取一个字符后,位置指针的值为:1
继续读取10个字符后,位置指针的值为:10
Press any key to continue . . .
在该程序中,用“rt”(读)模式打开文件,然后显示刚打开文件的位置指针(应该为0)。接着,使用fgetc()函数读取1个字符,并显示读取1个字符后的文件位置指针(应该为1)。最后,使用fgets()函数再读取10个字符(实际只只读取9个字符),并显示此时的文件位置指针(因已经读取了10个字符,此时位置指针值应该为10,指向地11个字符)。