gpt4 book ai didi

c - 在 C 中打印出文件名及其大小

转载 作者:行者123 更新时间:2023-12-02 06:19:34 25 4
gpt4 key购买 nike

我不确定 C 是否可以做到这一点,但我希望我可以编写一个程序来查看目录,并打印出目录的所有内容以及每个文件的文件大小.正如我希望它看起来像这样(可能):

filename.txt -- 300 bytes

filename2.txt -- 400 bytes

filename3.txt -- 500 bytes

等等。

到目前为止,我创建了一个可以打开文件的程序,它会打印字节,但它不会读取整个目录,我必须具体说明我想读取哪个文件..(这是不是我想要的)。

这是我目前所拥有的:

#include <stdio.h>

int main(){
FILE *fp; // file pointer
long fileSize;
int size;

// opens specified file and reads
fp = fopen( "importantcommands.txt", "rw" );

if( fp == NULL ){
printf( "Opening file error\n" );
return 0;
}

// uses fileLength function and prints here
size = fileLength(fp);
printf( "\n Size of file: %d bytes", size );

fclose(fp);

return 0;
}

int fileLength( FILE *f ){
int pos;
int end;

// seeks the beginning of the file to the end and counts
// it and returns into variable end
pos = ftell(f);
fseek (f, 0, SEEK_END);
end = ftell(f);
fseek (f, pos, SEEK_SET);

return end;
}

请帮忙。

最佳答案

C 当然可以做到 - ls(1)例如,命令可以,它是用 C 语言编写的。

要遍历一个目录,你可以使用 opendir(3)readdir(3)功能。不过,让 shell 为您做这件事可能更容易。

就获取文件名而言,您可以通过将 main 定义为将其作为命令行参数:

int main(int argc, char **argv)

命令行参数将从 argv[1] 开始。

关于c - 在 C 中打印出文件名及其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14569148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com