#ifndef _CREATE_MULTIPLE_FILE
#define _CREATE_MULTIPLE_FILE
#include <vector>
//检查目录是否存在
static BOOL FolderExist(const CString& strPath)
{
WIN32_FIND_DATA wfd;
BOOL reVal = FALSE;
HANDLE hFind = FindFirstFile(strPath , &wfd);
if ((INVALID_HANDLE_VALUE != hFind) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
reVal = TRUE;
}
FindClose(hFind);
return reVal;
}
//检查文件存在性
static BOOL FileExist(const CString& strFileName)
{
CFileFind fFind;
return fFind.FindFile(strFileName);
}
//创建多级目录
static BOOL CreateMultipleDirectory(const CString& strPath)
{
CString strDir(strPath);
if (strDir.GetAt(strDir.GetLength() - 1) != _T('//'))
{
strDir.AppendChar(_T('//'));
}
std::vector<CString> vPath;
CString strTemp;
BOOL bSuccess = FALSE;
for (int i = 0 ; i < strDir.GetLength() ; ++i)
{
if (strDir.GetAt(i) != _T('//'))
{
strTemp.AppendChar(strDir.GetAt(i));
}
else
{
vPath.push_back(strTemp);
strTemp.AppendChar(_T('//'));
}
}
std::vector<CString>::const_iterator vIter;
for (vIter = vPath.begin() ; vIter != vPath.end() ; vIter++)
{
bSuccess = CreateDirectory(*vIter , NULL)? TRUE : FALSE;
}
return bSuccess;
}
#endif