如何使用C计算文件的字节数?
假设下面的文件中包含一些代码(数据).word count(wc)程序如何计算指定文件的确切字节数?
例如,如果我们有以下文件:
#include<stdio.h>
int main(void) {
printf("helloworld!");
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何创建一个可以计算该文件中字节数的程序.
使用Linux字数(wc),此文件的字节数为64
cat helloworld.cpp | wc -c
64
Run Code Online (Sandbox Code Playgroud)
作为stat(2)样本的摘录
char filename[] = "helloworld.cpp";
struct stat sb;
if (stat(filename, &sb) == -1) {
perror("stat");
}
else {
printf("File size: %lld bytes\n",
(long long) sb.st_size);
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用getc()函数
int bytes;
for(bytes = 0; getc(stdin) != EOF; ++bytes);
printf("File size: %d bytes\n",bytes);
Run Code Online (Sandbox Code Playgroud)