C++ 代码

多种手机平台开发-----让我们跟苹果一起红起来。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

删除制定目录下的所有文件(.txt)

Posted on 2009-02-21 22:33  蔡清华  阅读(789)  评论(0编辑  收藏  举报
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则是文件夹,否则是文件。