在寻找给定 FILE*
的文件大小的方法时,我遇到了 this article建议反对它。相反,它似乎鼓励使用文件描述符和 fstat
。
然而,我的印象是 fstat
、open
和文件描述符通常不那么便携(经过一些搜索,我发现了一些东西effect ).
有没有一种方法可以获取 ANSI C 中文件的大小,同时与文章中的警告保持一致?
最佳答案
在标准 C 中,fseek
/ftell
舞蹈几乎是镇上唯一的游戏。你要做的任何其他事情至少在某种程度上取决于你的程序运行的特定环境。不幸的是,舞蹈也有你所链接的文章中描述的问题。
我想您总是可以读取文件中的所有内容,直到 EOF 并一路跟踪 - 例如使用 fread()
。
关于c - 如何在没有 fseek 和 ftell 的情况下在 ANSI C 中获取文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830788/