|
|
1
5
您可以打开文件,读取所有字符并计数。 除此之外,还没有一种完全可移植的方法来检查一个文件的长度——既不是在磁盘上,也不是在读取多少个字符。这对于文本文件和二进制文件是正确的。 How do you determine the size of a file in C? 克服了一些陷阱。也许其中一个解决方案适合于运行代码的系统子集;或者您可能希望使用POSIX或操作系统调用。 如评论所述;如果问题背后的意图是读取字符并动态处理它们,那么即使知道文件大小,您仍然需要检查读取错误,因为读取可能会失败。 |
|
|
2
0
字符(类型)
因此,如果使用ASCII文本文件,文件大小将是字节数,因此相当于字符数。 如果你问一个人 串 如果在文件中,则确实需要查找NUL和其他扩展字符字节,并在此基础上计算字符串长度。您可能无法安全地假设只有一个NUL字符,并且它位于文件的末尾,这取决于该文件是如何生成的。也可以有新行和其他扩展字符,你想排除。你必须决定一个字符集,然后从这个字符集开始计算。 此外,如果您使用的文件包含以Unicode编码的多字节字符,那么这将是一个不同的答案。你会用 different functions 使用多字节编码读取文本文件。 因此,答案将取决于您的文本文件使用何种类型的编码,以及您是在计算字符长度还是字符串长度,这是两种不同的度量。 |