现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

创建多级目录

2012-09-11 12:41 工业·编程 ⁄ 共 987字 ⁄ 字号 暂无评论

#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

给我留言

留言无头像?