我想在C,Windows中删除一个目录。我知道我必须首先删除目录中的所有文件,这是我感到困惑的部分。我找到了SHFileOperation
和IFileOperation
,尽管我不明白它们是如何从文档中实现的。
我目前的实现:
int dir_exists = 0;
snprintf(dir_name, STR_SIZE, "%s\\%s", LOCAL_DIR, tokens[1]);
// Check if directory exists
DWORD dwAttrib = GetFileAttributes(dir_name);
if (dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY)) {
dir_exists = 1;
}
if (dir_exists == 1) {
// Remove contents of directory (CURRENTLY UNIX)
DIR *dir;
struct dirent *d;
char filepath[FNAME_SIZE];
dir = opendir(dir_name);
while (d = readdir(dir)) {
sprintf(filepath, "%s/%s", dir_name, d->d_name);
remove(filepath);
}
// Remove directory
if ((RemoveDirectory(dir_name)) == 0) {
printf("Error removing dictionary\n");
return 0;
}
}
我想要一个视窗系统的替代部分评论没有使用#include <dirent.h>
,因为我的VS没有这个头文件:
// Remove contents of directory (CURRENTLY UNIX)
https://stackoverflow.com/questions/52135961
复制相似问题