删除方法有两种,一种是靠MFC封装的CFile类删除
看实例:
CFileFind finder; //定义一个文件操作类 CString strWildcard( "目录" ); //删除的目录 strWildcard += _T("\\*.*"); //表示删除所有文件 BOOL bWorking = finder.FindFile(strWildcard); //开始寻找,枚举文件 while (bWorking) //循环获取文件路径,并一个一个删除 { bWorking = finder.FindNextFile(); CString str = finder.GetFilePath(); CFile::Remove( str ); }
第二个是利用系统的API函数去删除,再次不再多做论述,给出函数结构(在微软MSDN溜达了一下,不知道怎么出现了乱码,地址:http://msdn.microsoft.com/en-us/library/bb762164(VS.85).aspx):
引至百度百科的介绍和说法:
/*SHFileOperation是一种外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,该函数使用起来非常简单,它只有一个指向SHFILEOPSTRUCT结构的参数。使用SHFileOperation()函数时只要填写该专用结构--SHFILEOPSTRUCT,告诉Windows执行什么样的操作,以及其它重要信息就行了。SHFileOperation()的特别之处在于它是一个高级外壳函数,不同于低级文件处理。当调用SHFileOperation操作文件时,相应的外壳拷贝处理器(如果有的话)被调用。 */ //函数原型: #include<shellapi.h> WINSHELLAPI int WINAPI //参数: typedef struct _SHFILEOPSTRUCT { HWND hwnd; //父窗口句柄, 0为桌面 UINT wFunc; //要执行的动作 LPCTSTR pFrom; // 源文件路径,可以是多个文件 LPCTSTR pTo; //目标路径,可以是路径或文件名 FILEOP_FLAGS fFlags; //标志,附加选项 BOOL fAnyOperationsAborted; //是否可被中断 LPVOID hNameMappings; //文件映射名字,可在其它 Shell 函数中使用 LPCTSTR lpszProgressTitle; // 只在 FOF_SIMPLEPROGRESS 时,指定对话框的标题。 } SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT;//第一次去正规的写博文,不好之处还请多多包涵。