是否有可能知道从文件中读取的长文本将在 C 中出现多少个字符?

mcz*_*nek 1 c filesize char

我知道在 C++ 中,你可以检查字符串的长度,但在 C 中,没有那么多。

是否可以知道文本文件的文件大小,以了解文件中有多少个字符?

是每个字符一个字节还是其他标题是否秘密存储,无论我是否设置它们?

出于性能原因,我想避免在遍历文件时对每个字符执行空检查。

谢谢。

M.M*_*M.M 5

您可以打开文件并读取所有字符并计算它们。

除此之外,没有完全可移植的方法来检查文件的长度——既不是在磁盘上,也不是在读取多少字符方面。这适用于文本文件和二进制文件。

你如何确定C中文件的大小?克服了一些陷阱。也许那里的解决方案之一适合您运行代码的系统子集;或者您可能喜欢使用 POSIX 或操作系统调用。


如评论中所述;如果问题背后的意图是读取字符并动态处理它们,那么即使您知道文件大小,您仍然需要检查读取错误,因为读取可能会失败。

  • “因为读取可能会失败” - 并且文件在您读取时可能会发生变化:-) (3认同)