創建全路徑代碼

 

#include <ftw.h>

bool CreateFullDirectory(const char* pszPath)
{
    int iRet = mkdir(pszPath,S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH);
    if (0 == iRet || (-1 == iRet && EEXIST == errno))
    {
        return true;
    }

    char szParent[MAX_PATH];
    strncpy(szParent, pszPath, MAX_PATH);

    char *p = strrchr(szParent, '//');
    if (p != NULL && p != szParent)
    {
        *p = 0;
        if (CreateFullDirectory(szParent))
        {
            return 0 == mkdir(pszPath,S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH);//_mkdir(pszPath);
        }
    }

    return false;
}

發佈了37 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章