c++windows系统删除指定目录下的所有jpg图片,不要用c++17
时间: 2024-03-16 11:44:50 浏览: 77
c++删除指定文件或者文件夹
5星 · 资源好评率100%
你可以使用 Windows API 中的 `FindFirstFile`、`FindNextFile` 和 `FindClose` 函数来实现这个功能。下面是一个示例代码:
```c++
#include <iostream>
#include <windows.h>
#include <string.h>
int main() {
const char* path = "C:\\path\\to\\directory"; // 指定目录路径
WIN32_FIND_DATAA findData;
HANDLE hFind = INVALID_HANDLE_VALUE;
std::string filename;
hFind = FindFirstFileA((std::string(path) + "\\*").c_str(), &findData); // 查找目录中的第一个文件
if (hFind != INVALID_HANDLE_VALUE) {
do {
if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { // 判断是否为目录
continue;
}
if (strstr(findData.cFileName, ".jpg") != NULL) { // 判断文件名是否以 .jpg 结尾
filename = std::string(path) + "\\" + findData.cFileName; // 拼接文件路径
DeleteFileA(filename.c_str()); // 删除文件
}
} while (FindNextFileA(hFind, &findData)); // 查找目录中的下一个文件
FindClose(hFind); // 关闭查找句柄
} else {
std::cerr << "Failed to open directory!" << std::endl;
return -1;
}
return 0;
}
```
注意:这个示例代码只适用于 Windows 系统。如果你需要在 Linux 系统上运行,需要使用 `<dirent.h>` 头文件中的函数来实现。
阅读全文