如何使用C计算文件中的字节数?

Stu*_*t78 1 c algorithm wc

如何使用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)

πάν*_*ῥεῖ 6

作为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)