c语言删除目录下的所有文件
时间: 2023-12-19 10:04:30 浏览: 111
在C语言中,可以使用标准库函数 `remove()` 和 `rmdir()` 来删除文件和目录。如果要删除目录下的所有文件,使用递归函数来遍历目录并删除的文件。以下是一个简单的示例:
```c
#include <stdio.h>
#include <.h>
#include <dirent.h>
#include <string.h>
void delete_files(char *path) {
DIR *dir;
struct dirent *entry;
dir = opendir(path);
if (dir == NULL) {
printf(" to open directory: %s\n", path);
return;
}
while ((entry = readdir(dir)) NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
char filepath[256];
sprintf(filepath, "%s/%s", path, entry->d_name);
if (entry->d_type == DT_DIR) {
delete_files(filepath);
rmdir(filepath);
} else {
remove(filepath);
}
}
closedir(dir);
}
int main() {
char *path = "/path/to/directory"; // 目录路径
delete_files(path);
rmdir(path); // 删除目录本身
return 0;
}
```
这个程序会递归地遍历指定目录下的所有文件和子目录,并删除其中的文件和空子目录,最后删除目录本身。注意需要谨慎使用,确保要删除的目录是正确的。
阅读全文