当前位置:编程学习 > C#/ASP.NET >>

求救 判断第二级文件夹是否为空 新手苦苦哀求!!!

下面是代码
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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,