tet文件末尾是指文本末尾吗

img


我写程序发现“文件末尾”并不是指文本末尾,有没有人可以点明一下,文件末尾是什么

img


这是百度的,请问文本末尾是不是不等于文件结束符所在位置

广义上可以理解是一个东西。如果细究的话,他们是有差别的。
txt文件中,文件的正文(就是你可以选中的部分)称为文本,文本末尾是你能用鼠标选中的最后一个字符的下一个位置。而TXT文件中,除了文本内容外,还有一个特殊的标记位,这个标记位是无法被选中和看见的,是一个隐藏的符号,用户感知不到它。所以,再广义上,一般认为它们是一个意思。
但是这个符号位是确实存在的,所以实际的文件末尾是在结束符的下一个位置。所以细究的话它们是不一样的。

当用feof来判定的时候,实际上是判断文件指针是否已经指向了这个标记位,如果指向了这个标记位,就返回1,否则就返回0.

文件末尾是指的是文件结束符EOF,并不是最后一个文本字符
当文件内部的位置指针指向文件结束时,并不会立即设置FILE结构中的文件结束标识,只有再执行一次读文件操作,才会设置结束标志,此后调用feof()才会返回为真。

我不确定我考虑的是对的,但是我是这样想的:
我们应该把传统上的文件操作以及用代码对文件进行操作两个模式区分开。
我在想,文本的末尾,是我们传统意义上打开一个txt文件的最后位置。
而文件操作,(这个我没有研究过细节,看你上面的描述),是以流的形式,取到文件中的内容,而文件结束符,可不可以理解是流的形式的内容的最后标识。

个人理解,如果不对请指正,没有去查资料,谨慎参考。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632