c++实现判断文件夹是否为空
时间: 2023-05-20 18:04:57 浏览: 278
可以使用 opendir() 和 readdir() 函数来实现判断文件夹是否为空的功能。具体实现代码如下:
```c
#include <stdio.h>
#include <dirent.h>
int is_dir_empty(const char *dirname) {
DIR *dir = opendir(dirname);
if (dir == NULL) {
// 打开目录失败
return -1;
}
struct dirent *entry;
int count = 0;
while ((entry = readdir(dir)) != NULL) {
if (++count > 2) {
// 目录不为空
closedir(dir);
return 0;
}
}
// 目录为空
closedir(dir);
return 1;
}
int main() {
const char *dirname = "/path/to/dir";
int result = is_dir_empty(dirname);
if (result == -1) {
printf("Failed to open directory %s\n", dirname);
} else if (result == 0) {
printf("Directory %s is not empty\n", dirname);
} else {
printf("Directory %s is empty\n", dirname);
}
return 0;
}
```
其中,is_dir_empty() 函数返回值为 -1 表示打开目录失败,返回值为 0 表示目录不为空,返回值为 1 表示目录为空。