您的位置:首页 > 其它

VC MFC 如何删除文件,目录,文件夹

2008-05-17 07:10 513 查看
VC MFC 如何删除文件,目录,文件夹

==========================================

第一种方法: 定义一个文件类对象来操作
CFile TempFile;
TempFile.Remove(指定文件名);
第二种方法: 使用系统函数 DeleteFile( LPCSTR filename )删除文件 _rmdir(),删除目录 DeleteDirectory(sTempDir); 删除目录 RemoveDirectory(sTempDir);删除目录
eg: DeleteFile( char *tempFileName);
上面提到的删除目录的方法只能删除空目录(即文件夹),如果目录下有文件或者子目录,就不能删除了,VC里好像没有直接的函数,只能手动写个函数来删除了,下面提供一个删除非空目录的方法:
//删除文件夹目录(非空)
bool DeleteDirectory(char* sDirName)
{
CFileFind tempFind;

IsFinded
相信以上方法已经足够用了吧。
char sTempFileFind[200] ;

sprintf(sTempFileFind,"%s/*.*",sDirName);
BOOL IsFinded = tempFind.FindFile(sTempFileFind);
while (IsFinded)
{ = tempFind.FindNextFile();

if (!tempFind.IsDots())
{ 字串4
char sFoundFileName[200];
strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(200));

if (tempFind.IsDirectory()) 字串7
{ 字串9
char sTempDir[200];
sprintf(sTempDir,"%s/%s",sDirName,sFoundFileName);
DeleteDirectory(sTempDir); 字串5
}
else
{ 字串3
char sTempFileName[200];
sprintf(sTempFileName,"%s/%s",sDirName,sFoundFileName);
DeleteFile(sTempFileName); 字串8
}
}
}
tempFind.Close();
if(!RemoveDirectory(sDirName)) 字串2
{ 字串9
return FALSE;
}
return TRUE;
}
//下面是应用,CString m_strDir 是一个文件夹路径,如:d:downloadpic
BOOL DelAll()
{
if(PathFileExists(m_strDir))
DeleteDirectory((LPSTR)(LPCTSTR)m_strDir);
return 1;
} 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: