Method 1:Using system Command
#include< stdlib.h > #include< stdio.h > int main( ) { system( "md d://aa//zhao " ); // 在下新建文件夹 system( "del d://aa//zhao " ); // 删除该文件夹下的所有文件 }
Method 2:Using DeleteDirectory Function, you should delete files in the directory first.
BOOL CDlgData::DeleteDirectory(char *sDirName) { CFileFind tempFind; char sTempFileFind[200] ; sprintf(sTempFileFind,"%s\\*.*",sDirName); BOOL IsFinded = tempFind.FindFile(sTempFileFind); while (IsFinded) { IsFinded = tempFind.FindNextFile(); if (!tempFind.IsDots()) { char sFoundFileName[200]; strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(200)); if (tempFind.IsDirectory()) { char sTempDir[200]; sprintf(sTempDir,"%s\\%s",sDirName,sFoundFileName); DeleteDirectory(sTempDir); } else { char sTempFileName[200]; sprintf(sTempFileName,"%s\\%s",sDirName,sFoundFileName); DeleteFile(sTempFileName); } } } tempFind.Close(); if(!RemoveDirectory(sDirName)) { return FALSE; } return TRUE; }
Method 3:Using SHFileOperation API
Function Prototype:
WINSHELLAPI int WINAPI SHFileOperation(
LPSHFILEOPSTRUCT lpFileOp
);函数删除包含文件的目录
//删除文件夹 SHFILEOPSTRUCT FileOp; FileOp.fFlags = FOF_NOCONFIRMATION; FileOp.hNameMappings = NULL; FileOp.hwnd = NULL; FileOp.lpszProgressTitle = NULL; FileOp.pFrom = "要删除的目录"; FileOp.pTo = NULL; FileOp.wFunc = FO_DELETE; SHFileOperation(&FileOp);
作者:Angelo Lee
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.