您好,登錄后才能下訂單哦!
目的:實現用CreateDirectory創建多級目錄
1.引入靜態庫
#include "shlwapi.h"
#pragma comment(lib,"shlwapi.lib")
2.函數
const wchar_t* wcstrrchr(const wchar_t* str, const wchar_t wc)
{
const wchar_t* pwc = NULL;
for (int i=wcslen(str)-1;i>=0;i--)
{
if (str[i] == wc)
{
pwc = str + i;
break;
}
}
return pwc;
}
bool createMultiDir(const wchar_t* path)
{
if (path == NULL) return false;
const wchar_t* pwcStrrchr = wcstrrchr(path,L'\\');
if (!pwcStrrchr) return false;
if (PathIsDirectory(path)) return true;
wchar_t wsSubPath[MAX_PATH] = {};
memset(wsSubPath,0,sizeof(wsSubPath));
for (int i=0; i<pwcStrrchr-path; i++)
wsSubPath[i] = *(path+i);
createMultiDir(wsSubPath);
if(CreateDirectory(path,NULL)) return true;
return false;
}
3.調用案例
createMultiDir(L"d:\\whish\\test\\好孩子\\寶馬\\測試.txt"); //絕對路徑
createMultiDir(L".\\whish\\test\\好孩子\\寶馬\\測試.txt");//相對路徑
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。