gpt4 book ai didi

混淆 == EOF 与 feof

转载 作者:太空狗 更新时间:2023-10-29 16:39:36 25 4
gpt4 key购买 nike

我打开一个文件,在指针ptr 的地址找到流。我正在尝试查看文件是否为空白。使用以下内容

if (fgetc(ptr) != EOF)

按预期工作。当文件为空时,不执行该语句。当文件不为空时,语句不执行。

但是,使用

if (!feof(ptr))

始终执行语句。

为什么会这样?有没有办法使用feof函数?

最佳答案

Is there a way to use the feof function?

是的,有。 输入函数返回一个值,表明它没有更多的输入要处理后,您可以调用 feof() 和/或 ferror() 来确定该条件是由于到达输入末尾还是某些错误条件引起的。

这是 feof()ferror() 函数的唯一有效用法。

表示没有更多输入剩余的结果因函数而异。例如fgetc()返回值EOFfgets()返回空指针,fread()返回一些小于请求的记录数的值。您需要阅读每个输入函数的文档以了解其工作原理。

关于混淆 == EOF 与 feof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com