WM 平台VC 2005
//strFileName is parent directory
CString strFileName(_T("xxxxx"));
CString strExt(_T(".txt"));
string strTemp ;
strTemp.Format(_T("%s\\*%s"), strFileName,strExt);
// 获得第一个文件名
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));
{
//删除
::DeleteFile(strFileName+ data.cFileName);
}
bResult= FindNextFile(hFile,&data);
}
FindClose(hFile);
}
另外,对于“*.*”通配符,代码会把所有的子文件夹列出来,包括“.”和“..”,为了区分文件和文件夹,可以根据WIN32_FIND_DATA结构的dwFileAttributes成员来判断,如果等于FILE_ATTRIBUTE_DIRECTORY则是文件夹,否则是文件。