c++删除指定目录下的所有jpg图片
时间: 2024-03-16 17:44:38 浏览: 268
你可以使用以下代码来删除指定目录下的所有jpg图片:
```c++
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
std::string dir_path = "path/to/directory"; // 指定目录路径
for (const auto& entry : fs::directory_iterator(dir_path)) {
if (entry.path().extension() == ".jpg") {
fs::remove(entry.path()); // 删除jpg图片
}
}
std::cout << "删除完成!" << std::endl;
return 0;
}
```
请将 `path/to/directory` 替换为你要删除图片的目录路径。同时请注意,此代码会将指定目录下所有后缀名为 `.jpg` 的文件全部删除,请谨慎操作。
相关问题
c++删除指定目录下的所有jpg图片,不要用c++17
你可以使用 `<dirent.h>` 头文件中的 `opendir`、`readdir` 和 `closedir` 函数来实现这个功能。下面是一个示例代码:
```c++
#include <iostream>
#include <dirent.h>
#include <string.h>
int main() {
const char* path = "/path/to/directory"; // 指定目录路径
DIR* dir = opendir(path); // 打开目录
if (dir) {
dirent* entry;
while ((entry = readdir(dir)) != NULL) { // 遍历目录中的所有文件
if (entry->d_type == DT_REG) { // 判断是否为普通文件
if (strstr(entry->d_name, ".jpg") != NULL) { // 判断文件名是否以 .jpg 结尾
std::string filename = std::string(path) + "/" + entry->d_name; // 拼接文件路径
remove(filename.c_str()); // 删除文件
}
}
}
closedir(dir); // 关闭目录
} else {
std::cerr << "Failed to open directory!" << std::endl;
return -1;
}
return 0;
}
```
注意:这个示例代码只适用于 Linux 系统。如果你需要在 Windows 系统上运行,需要使用 `<windows.h>` 头文件中的函数来实现。
c++windows系统删除指定目录下的所有jpg图片,不要用c++17
你可以使用 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>` 头文件中的函数来实现。
阅读全文