创建文件目录

创建文件目录

主要在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"");
原文地址:https://www.cnblogs.com/widget90/p/5606413.html