我爱Aspx >> VC.Net >> VC MFC 如何删除文件,目录,文件夹项目中突然要使用删除文件的功能,于是看看书,网上找找资料,总结了一些方法,其实都很简单的。希望对大家有帮助:
第一种方法: 定义一个文件类对象来操作
CFile TempFile;
TempFile.Remove(指定文件名);
第二种方法: 使用系统函数 DeleteFile( LPCSTR filename )删除文件 _rmdir(),删除目录 DeleteDirectory(sTempDir); 删除目录 RemoveDirectory(sTempDir);删除目录
eg: DeleteFile( char *tempFileName);
上面提到的删除目录的方法只能删除空目录(即文件夹),如果目录下有文件或者子目录,就不能删除了,VC里好像没有直接的函数,只能手动写个函数来删除了,下面提供一个删除非空目录的方法:
//删除文件夹目录(非空)

bool DeleteDirectory(char* sDirName)
{
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;
}
c# 实现Word联接Excel的MailMerg..[10-20]
DayPilotCalendar:像OutLook一样..[10-20]
C#的Socket程序(TCP)[10-20]
c#中邮件收发处理(POP3,IMAP,SM..[10-20]
数据库 '****' 的日志已满。请备..[10-20]
vb.net读取dbf、Excel、Access数..[10-10]
ASP.NET基础教程:C#与JAVA的比较[10-10]
vb.net的数组的基类是 System.Ar..[10-08]
VB.net中HOOK的应用(转)[10-08]
asp.net读取数据库乱码解决方案[10-06]