如何删除文件,目录,文件夹
项目中突然要使用删除文件的功能,于是看看书,网上找找资料,总结了一些方法,其实都很简单的。希望对大家有帮助:
第一种方法: 定义一个文件类对象来操作
CFile TempFile;
TempFile.Remove(指定文件名);
第二种方法: 使用系统函数 DeleteFile( LPCSTR filename )删除文件 _rmdir(),删除目录 DeleteDirectory(sTempDir); 删除目录 RemoveDirectory(sTempDir);删除目录
eg: DeleteFile( char *tempFileName);
上面提到的删除目录的方法只能删除空目录(即文件夹),如果目录下有文件或者子目录,就不能删除了,VC里好像没有直接的函数,只能手动写个函数来删除了,下面提供一个删除非空目录的方法:
//删除文件夹目录(非空)
bool DeleteDirectory(char* sDirName)
{
char sTempFileFind[200] ;
CFileFind tempFind;
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);
return1;
}
转载自:巴士飞扬-技术BLOG : http://www.busfly.cn/
还没有评论,来说两句吧...