求教一个关于 ftell()函数返回值的问题,敬请高人指点。

mig_31_fox mig_31_fox 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
步骤:
1.自己先新建一个文本文档,命名为:Stu_list.txt. 内容为:abc
如下图所示:


2.编写完整程序,如下:

#inlcude <stdlib.h>
#include <stdio.h>

void main()
{
FILE *fp;
long len;
char *buf;

fp=fopen("stu_list.txt","rb");

fseek(fp,0,SEEK_END); //使stu_list.txt的文件指针移动到该文件的末尾。
len=ftell(fp); //使用ftell()函数,求得当前指针相对于stu_list.txt文件开头的位移量,赋值给len.
printf("%ld\n",len);
}

3.编译,运行。

4.得到的结果是: Len的值是5,而不是3.

我的问题是:既然ftell()函数的返回值是该文件指针在当前的读写位置偏离文件头部的字节数,stu_list的内容只有abc这三个字符,即三个字节。那么,为什么len的值是5呢?

敬请各位高人给予精确的指点,小弟在这里先谢谢各位了。

环境:
1.所用编译器:Visual C++ 6.0
2.操作系统:Windows XP 32位
...全文

相关推荐

评论 13
收藏 已收藏
分享
返回顶部
mig_31_fox
C语言 70,039 成员 243,237 内容