用C语言写一个删除指定目录下所有文件的函数,不删除目录
时间: 2023-04-05 16:03:26 浏览: 95
C语言实现清空指定文件夹中所有文件的方法
5星 · 资源好评率100%
可以回答这个问题。以下是一个删除指定目录下所有文件的函数的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
void delete_files_in_dir(char *dir_path) {
DIR *dir = opendir(dir_path);
if (dir == NULL) {
printf("Failed to open directory %s\n", dir_path);
return;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
continue;
}
char file_path[1024];
sprintf(file_path, "%s/%s", dir_path, entry->d_name);
remove(file_path);
}
closedir(dir);
}
int main() {
char *dir_path = "/path/to/directory";
delete_files_in_dir(dir_path);
return 0;
}
```
这个函数使用 opendir 和 readdir 函数遍历指定目录下的所有文件,然后使用 remove 函数删除每个文件。注意,这个函数只删除目录下的文件,不删除目录本身。
阅读全文