删除一个目录下全部文件夹和文件:
bool removeDir(const char* szFileDir) { std::string strDir = szFileDir; if (strDir.at(strDir.length() - 1) != '\\') strDir += '\\'; WIN32_FIND_DATA wfd; HANDLE hFind = FindFirstFile((strDir + "*.*").c_str(), &wfd); if (hFind == INVALID_HANDLE_VALUE) return false; do { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (_stricmp(wfd.cFileName, ".") != 0 && _stricmp(wfd.cFileName, "..") != 0) removeDir((strDir + wfd.cFileName).c_str()); } else { DeleteFile((strDir + wfd.cFileName).c_str()); } } while (FindNextFile(hFind, &wfd)); FindClose(hFind); RemoveDirectory(szFileDir); return true; }
获取当前目录(当前程序所在文件夹):
char cPath[MAX_PATH+1]; _getcwd(cPath, sizeof(cPath));
windows下vs编译的C++程序要求获取管理员权限:
打开项目-项目属性-连接器-清单文件-UAC执行级别修改为requireAdministrator (/level='requireAdministrator')保存运行即可。
对你没看错,就这么简单!运行时自动要求提供管理员权限
获取系统目录:
char str[MAX_PATH]; GetSystemDirectory(str, MAX_PATH); std::cout << str << std::endl;
输出C:\WINDOWS\system32