c语言检测文件夹为空删除文件夹,
时间: 2023-08-16 11:07:09 浏览: 100
c删除非空文件夹的函数
5星 · 资源好评率100%
你可以使用Linux系统提供的`rmdir`函数来删除一个空文件夹。具体实现如下:
```c
#include <dirent.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int is_empty_folder(const char *path) {
DIR *dir;
struct dirent *entry;
if ((dir = opendir(path)) == NULL) {
return -1; // 打开文件夹失败
}
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) {
closedir(dir);
return 0; // 文件夹不为空
}
}
closedir(dir);
return 1; // 文件夹为空
}
int remove_empty_folder(const char *path) {
int ret;
if (is_empty_folder(path)) { // 如果文件夹为空
ret = rmdir(path); // 删除文件夹
if (ret == -1) {
perror("rmdir");
return -1; // 删除文件夹失败
}
}
return 0; // 删除文件夹成功
}
```
该函数先调用`is_empty_folder`函数检测文件夹是否为空,如果是,则调用`rmdir`函数删除该文件夹。函数返回值为整数类型。如果返回值为0,则表示删除文件夹成功;如果返回值为-1,则表示删除文件夹失败。
阅读全文