WM 平台VC 2005
 //strFileName is parent directory
 CString strFileName(_T("xxxxx"));
 CString strExt(_T(".txt"));
 string strTemp ;
 strTemp.Format(_T("%s\\*%s"), strFileName,strExt);  
 WIN32_FIND_DATA     data;  
 HANDLE   hFile;  
// 获得第一个文件名
 hFile FindFirstFile(strTemp,&data);  
 if(INVALID_HANDLE_VALUE == hFile)  
  
    TRACE("No file find\n");  
    return;  
  
 TRACE(data.cFileName);  
 TRACE("\n");  
 memset(&data,0,sizeof(data));   
 BOOL   bResult=FindNextFile(hFile,&data);  
 while(FALSE!= bResult)  
  
  //获得文件名
  TRACE(data.cFileName);  
  TRACE("\n");  
  memset(&data,0,sizeof(data));  
   if (!(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
  {
       //删除
       ::DeleteFile(strFileName+ data.cFileName);
  }
  bResult= FindNextFile(hFile,&data);  
  
 FindClose(hFile);
另外,对于“*.*”通配符,代码会把所有的子文件夹列出来,包括“.”和“..”,为了区分文件和文件夹,可以根据WIN32_FIND_DATA结构的dwFileAttributes成员来判断,如果等于FILE_ATTRIBUTE_DIRECTORY则是文件夹,否则是文件。

相关文章: