创建文件目录

主要在windows系统下测试使用

1,使用CreateDirectory

创建单级目录

CreateDirectory("C:\\abc", NULL);//使用绝对路径创建文件夹
 
递归创建多级目录
int index, start = 0;
CString strTmp;
CString strPath = "E:\\aaa\\bbb\\ccc\\ddd";

while ( (index = strPath.Find('\\', start)) != -1) {
        strTmp = strPath.Left(index);

        CreateDirectory(strTmp, NULL);

        start = index + 1;      
}
 
2,使用MakeSureDirectoryPathExists

函数功能描述:该函数创建一个从根目录开始的完整的指定路径.

函数原型:
 BOOL MakeSureDirectoryPathExists(PCSTR DirPath);

参数:
DirPath [in] : 指向一个以NULL结尾的包含正确的指定的路径名,如果路径名的结尾部分不是文件名而是文件夹,那么要以'/'为结束符.
返回值:函数成功返回TRUE; 函数失败返回FALSE;要获得具体错误信息用GetLastError();
备注: 每一级目录如果不存在就创建它,如果只有一些目录被创建了,那么函数返回FALSE.

示例代码段:
在用MakeSureDirectoryPathExists前,要在Project->Settings...->Link->/Object/library modules中加入imagehlp.lib.

具体函数如下:
{
  BOOL bRet=MakeSureDirectoryPathExists("f://Directory1//Directory2//Directory3//");
  //创建目录,要注意结尾"//",否则会失败.
  ASSERT(bRet);
  bRet=MakeSureDirectoryPathExists("f://Directory1//Directory2//Directory3");
  //创建目录,但不创建Directory3,因为没有'//'结尾.
    ASSERT(bRet);
      bRet=MakeSureDirectoryPathExists("f://Directory1//Directory2//Directory3//test.txt");
      //创建目录,但不创建文件,可以不用'//'结尾.
      ASSERT(bRet);
}
注意包含头文件及相应库文件
头文件: 在Dbghelp.h中定义.
静态库: Dbghelp.lib.

 

3,使用windows下的bat脚本函数 mkdir
system("mkdir  \"E:\\aaa\\bbb\\ccc\\ddd\"");
posted on 2016-06-22 11:09  池的巧克力  阅读(274)  评论(0编辑  收藏  举报