readdir查找文件大小
时间: 2023-10-13 08:03:58 浏览: 97
要使用readdir函数查找文件大小,你需要先打开目标目录并遍历其中的文件。然后,对于每个文件,你可以使用stat函数来获取文件的详细信息,包括文件大小。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/stat.h>
int main() {
DIR *dir;
struct dirent *entry;
struct stat file_stat;
// 打开目录
dir = opendir("/path/to/directory");
if (dir == NULL) {
perror("无法打开目录");
exit(EXIT_FAILURE);
}
// 遍历目录中的文件
while ((entry = readdir(dir)) != NULL) {
// 构建文件路径
char path[256];
sprintf(path, "%s/%s", "/path/to/directory", entry->d_name);
// 获取文件信息
if (stat(path, &file_stat) == -1) {
perror("无法获取文件信息");
continue;
}
// 只处理普通文件
if (S_ISREG(file_stat.st_mode)) {
printf("文件名:%s\t大小:%lld bytes\n", entry->d_name, (long long)file_stat.st_size);
}
}
// 关闭目录
closedir(dir);
return 0;
}
```
请将`/path/to/directory`替换为你要检查的目录的实际路径。这段代码将遍历目录中的每个文件,并输出文件名和大小(仅限普通文件)。
阅读全文