博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

跨平台,c语言创建多级路径代码分享

Posted on 2013-01-04 14:54  浪端之渡鸟  阅读(1465)  评论(0编辑  收藏  举报

  这次开发中遇到了动态生成路径,如果还能简化,请跟帖,废话不多说,以下是代码:

//创建文件夹,可创建多级文件夹,比如:12/34(当前运行目录)  c:/ab/cd(绝对目录) /ab/cd(当前盘符的根路径)
void CreateDir(const char* pPath);

 

 void CreateDir(const char* pPath)
 {
     if(-1 != access(pPath,0))
         return;

     char tmpPath[MAX_PATH];
     const char* pCur = pPath;

     memset(tmpPath,0,sizeof(tmpPath));
    
     int pos=0;
    while(*pCur++!='\0')
    {
        tmpPath[pos++] = *(pCur-1);

         if(*pCur=='/' || *pCur=='\0')
         {
             if(0!=access(tmpPath,0)&&strlen(tmpPath)>0)
             {
                 mkdir(tmpPath);
             }
         }
     }
 }

windows下要包含#include <direct.h>,linux下自行查找