C&C++好用的代码笔记(长期更新)

删除一个目录下全部文件夹和文件:

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

猜你喜欢

转载自www.cnblogs.com/rixiang/p/10494760.html
今日推荐