c语言中删除以某个字符串开头的文件
时间: 2023-12-11 12:05:41 浏览: 34
在 C 语言中,你可以使用 `<dirent.h>` 头文件中的函数来遍历目录并删除以某个字符串开头的文件。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <unistd.h>
void deleteFilesWithPrefix(const char* prefix) {
DIR *dir;
struct dirent *entry;
dir = opendir(".");
if (dir == NULL) {
perror("opendir");
return;
}
while ((entry = readdir(dir)) != NULL) {
if (strncmp(entry->d_name, prefix, strlen(prefix)) == 0) {
if (remove(entry->d_name) == 0) {
printf("Deleted file: %s\n", entry->d_name);
} else {
perror("remove");
}
}
}
closedir(dir);
}
int main() {
const char* prefix = "prefix";
deleteFilesWithPrefix(prefix);
return 0;
}
```
上述代码定义了一个 `deleteFilesWithPrefix` 函数,它接受一个字符串作为参数,表示要删除的文件名前缀。在 `main` 函数中,我们调用 `deleteFilesWithPrefix` 并传入要删除的文件名前缀。
该程序会在当前目录下遍历所有文件,如果文件名以指定的前缀开头,则删除该文件。请确保你在运行程序时,当前工作目录是你要操作的目录。
注意:在使用 `remove` 函数删除文件时,请小心确认要删除的文件,以免误删重要文件。