温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CreateDirectory递归创建多级目录

发布时间:2020-04-05 17:19:23 来源:网络 阅读:3025 作者:忘记江南 栏目:编程语言

目的:实现用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");//相对路径
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI