#include <ftw.h>
bool CreateFullDirectory(const char* pszPath)
{
int iRet = mkdir(pszPath,S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH);
if (0 == iRet || (-1 == iRet && EEXIST == errno))
{
return true;
}
char szParent[MAX_PATH];
strncpy(szParent, pszPath, MAX_PATH);
char *p = strrchr(szParent, '//');
if (p != NULL && p != szParent)
{
*p = 0;
if (CreateFullDirectory(szParent))
{
return 0 == mkdir(pszPath,S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH);//_mkdir(pszPath);
}
}
return false;
}