求救 判断第二级文件夹是否为空 新手苦苦哀求!!!
下面是代码CFileFind fileFinder;
CString filePath = m_strPath + _T("\\*.*");
WIN32_FIND_DATA FindFileData;
WIN32_FIND_DATA FindFileData1;
HANDLE hFind1=::FindFirstFile(filePath,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind1)
return;
i=0;
CString isDirectory;
while(TRUE)
{
if(FindFileData.cFileName[0]!='.')
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
isDirectory=FindFileData.cFileName;
}
filePathName[i]=FindFileData.cFileName;
str3[i]="第一级目录";
i++;
}
if(!FindNextFile(hFind1,&FindFileData))
break;
//str1[i] = filePathName[i];
//str2[i] = filePathName[i];
//MessageBox(str1[i]);
//MessageBox(str2[i]);
}
FindClose(hFind1);
filePath = m_strPath+ _T("\\")+isDirectory+_T("\\*.*");
//MessageBox(str1[i]);
//MessageBox(str2[i]);
CString is2Directory[200];
HANDLE hFind2=::FindFirstFile(filePath,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind2)
return;
while(TRUE)
{
if(FindFileData.cFileName[0]!='.'&&FindFileData.cFileName[0]!='..')
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
is2Directory[i]=FindFileData.cFileName;
//MessageBox(is2Directory[i]);
}
filePathName[i]=FindFileData.cFileName;
str3[i]="第二级目录";
/*
CString filePath1;
filePath1 = m_strPath+_T("\\")+isDirectory+_T("\\")+is2Directory+_T("\\*.*");
MessageBox(filePath1);
HANDLE hFind3=::FindFirstFile(filePath1,&FindFileData1);
if(INVALID_HANDLE_VALUE == hFind3)
return;
while(TRUE)
{
if(FindFileData1.cFileName[0]!=0)
{
str4[i]="文件夹不为空";
}
if(!FindNextFile(hFind3,&FindFileData1))
break;
}
FindClose(hFind3);*/
i=i+1;
}
if(!FindNextFile(hFind2,&FindFileData))
break;
}
FindClose(hFind2);
CString tempFile;
CString filePath1;
for(int m=4;m<=i-2;m++)
{
filePath1 = m_strPath+_T("\\")+isDirectory+_T("\\")+is2Directory[m]+_T("\\*.*");
// MessageBox(filePath1);
HANDLE hFind3=::FindFirstFile(filePath1,&FindFileData1);
if(INVALID_HANDLE_VALUE == hFind3)
{
str4[4]="文件夹为空";
return;
}
while(TRUE)
{
//if(FindFileData1.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
//{
if(FindFileData1.cFileName[0]!='.'&FindFileData1.cFileName[0]!='..')
{
tempFile=FindFileData1.cFileName;
MessageBox(tempFile);
if(tempFile.GetLength()==0)
{
str4[m]="文件夹为空";
}
str4[m]="文件夹不为空";
}
//}
if(!FindNextFile(hFind3,&FindFileData1))
break;
}
FindClose(hFind3);
}
vc cstring win32 --------------------编程问答-------------------- 直接说问题?
--------------------编程问答-------------------- 直接计算遍历多少个目录,遍历多少个文件,不久知道是不是空
补充:.NET技术 , VC.NET