目的:检查目录是否存在,不存在就创建指定的目录。可以创建多级目录。
#include <direct.h> //_mkdir函数的头文件
#include <io.h> //_access函数的头文件
bool CreateDir(char *pDir)//可以创建多级目录
{
int i = 0;
int iRet;
int iLen;
char* pszDir;
if(NULL == pDir)
{
return 0;
}
pszDir = strdup(pDir);
iLen = strlen(pszDir);
// 创建中间目录
for (i = 0;i < iLen;i ++)
{
if (pszDir[i] == '\\' || pszDir[i] == '/')
{
pszDir[i] = '\0';
//如果不存在,创建
iRet = _access(pszDir,0);
if (iRet != 0)
{
iRet = _mkdir(pszDir);
if (iRet != 0)
{
free(pszDir);
return false;//-1;
}
}
//支持linux,将所有\换成/
pszDir[i] = '/';
}
}
//如果不存在,创建
iRet = _access(pszDir,0);
if (iRet != 0)
{
iRet = _mkdir(pszDir);
if (iRet != 0)
{
free(pszDir);
return false;//-1;
}
}
if (iRet != 0)
return false;
return true;
}