c语言 删除文件夹下的所有文件
时间: 2023-05-16 10:01:08 浏览: 386
C语言是一种面向过程的编程语言,在文件操作方面也有着比较丰富的函数库。删除文件夹下的所有文件可以使用C语言中的函数,具体步骤如下:
1.使用C语言中的opendir()函数打开待删除文件夹,该函数原型为: DIR *opendir(const char *dirname)。这个函数返回一个指向DIR结构体类型的指针。
2.使用C语言中的readdir()函数循环获取文件夹下的所有文件名,该函数原型为:struct dirent *readdir(DIR *dirp)。这个函数返回一个指向dirent结构体类型的指针,它包含了文件名等信息。
3.使用C语言中的remove()函数删除每个文件,该函数原型为:int remove(const char *filename)。这个函数返回一个整型值,如果删除失败则返回-1。
4.循环删除每个文件后,使用C语言中的closedir()函数关闭文件夹,该函数原型为:int closedir(DIR *dirp)。
完整的C语言程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main()
{
DIR *dir;
struct dirent *ent;
char *path = "./folder"; //待删除文件夹的路径
if ((dir = opendir(path)) != NULL) {
while ((ent = readdir(dir)) != NULL) {
if (ent->d_type == DT_REG) { //只删除普通文件
char file_path[100];
sprintf(file_path, "%s/%s", path, ent->d_name);
remove(file_path);
}
}
closedir(dir);
} else {
printf("Error opening directory.");
exit(EXIT_FAILURE);
}
return 0;
}
这段程序首先使用opendir()函数打开待删除文件夹,然后循环使用readdir()函数获取每个文件的文件名并删除,最后使用closedir()函数关闭文件夹。在删除文件时需要注意,只删除普通文件,不要删除文件夹本身。