zoukankan      html  css  js  c++  java
  • MFC 创建多层目录

    创建多层目录

     1 BOOL CTestToolCtr::CreateFolder(CString strNewFolder)
     2 {
     3 /**********************************************************************
     4 [Name     ]
     5     CreateFolder
     6 
     7 [Function ]
     8     创建文件夹
     9 
    10 [Param    ]
    11     CString strNewFolder 创建的目录
    12 
    13 [Return   ]
    14     TRUE: 创建成功
    15     FALSE:创建失败
    16 
    17 [Remarks  ]
    18 ***********************************************************************/
    19     if (PathFileExists(strNewFolder))
    20     {
    21         return FALSE;
    22     }
    23     else
    24     {
    25         return MakeDir((LPCTSTR)strNewFolder);
    26     }
    27     return TRUE;
    28 }
    29 
    30 BOOL CTestToolCtr::MakeDir(const char* szPath)
    31 {
    32     char copy_path[512];
    33     memset(copy_path, 0, sizeof(copy_path));
    34 
    35     int len = 0;
    36     char *last_mozi = NULL;
    37     char *mozi = NULL;
    38     char d_buf[512], dd_buf[512];
    39     memset(d_buf, 0, sizeof(d_buf));
    40     memset(dd_buf, 0, sizeof(dd_buf));
    41 
    42     sprintf_s(copy_path, sizeof(copy_path), szPath);
    43     len = strlen(copy_path);
    44     last_mozi =  CharPrev(copy_path, &copy_path[len]);
    45 
    46     if (last_mozi == (&copy_path[len-1]))
    47     {
    48         if (copy_path[len-1] == '\\' || copy_path[len-1] == '/')
    49         {
    50             copy_path[len-1] = 0x00;
    51         }
    52     }
    53 
    54     CharPrev(copy_path, copy_path);
    55     mozi = CharNext(copy_path);
    56     while (*mozi != '\0') 
    57     {
    58         if (*mozi == '\\' || *mozi == '/') 
    59         {
    60             memset(d_buf, 0, sizeof(d_buf));
    61             memcpy(d_buf, copy_path, mozi-copy_path);
    62             sprintf_s(dd_buf, sizeof(d_buf), "%s", d_buf);
    63             if (!PathFileExists(dd_buf))
    64             {
    65                 if (!CreateDirectory(dd_buf, NULL))
    66                 {
    67                     return FALSE;
    68                 }
    69             }
    70         }
    71         mozi = CharNext(copy_path);
    72     }
    73     sprintf_s(dd_buf,sizeof(copy_path), "%s", copy_path);
    74 
    75     if (!PathFileExists(dd_buf))
    76     {
    77         if (!CreateDirectory(dd_buf,NULL))
    78         {
    79             return FALSE;
    80         }
    81     }
    82     return TRUE;
    83 }
    高山流水,海纳百川!
  • 相关阅读:
    返回三级联动的JSON数据
    返回三级联动的JSON数据
    python3访问map
    第十八讲、中介者模式
    第十七讲、命令模式
    第十六讲、模板方法模式
    第十五讲、组合模式
    第十四讲、享元模式
    第十三讲、装饰器模式
    第十二讲、桥接模式
  • 原文地址:https://www.cnblogs.com/ahcc08/p/3690233.html
Copyright © 2011-2022 走看看