1.如何判断文件夹是否存在
bool FileCompare::CheckFolderExist(const CString &strPath)
{
WIN32_FIND_DATA wfd;
bool rValue = false;
HANDLE hFind = FindFirstFile(strPath, &wfd);
if ((hFind != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
rValue = true;
}
FindClose(hFind);
return rValue;
}
2.如何判断文件是否存在
BOOL Assist::IsFileExist(CString cFileName)
{
CFileFind finder;
BOOL bExist = finder.FindFile(cFileName);
return bExist;
}
3. 遍历文件夹里的文件
void FileCompare::getAllFile(CString cPath,vector<CString>& fileNames,oResult& Result)
{
if(!CheckFolderExist(cPath))
{
Result.iState = 0;
Result.cErr = "找不到文件夹" + cPath;
return;
}
CFileFind m_FileFind;
cPath = cPath + "\\" + "*.csv";
BOOL res = m_FileFind.FindFile(cPath);
while(res)
{
res = m_FileFind.FindNextFile();
if(!m_FileFind.IsDirectory()&&!m_FileFind.IsDots())
{
CString cFilePath = m_FileFind.GetFileName();
fileNames.push_back(cFilePath);
}
}
}