C/C++ 删除指定目录
来源:互联网 发布:网络购物中心 编辑:程序博客网 时间:2024/05/14 23:21
1.介绍
用到shlwapi.h和tchar.h头文件。
shlwapi.h是shlwapi.dll头文件,shlwapi.dll(Microsoft Shell Light-weight Utility Library)中定义了路径相关的操作,也包括了部分文件操作函数。由于shlwapi.dll属于Microsoft Windows Shell,因此这些文件操作特点与通过Shell进行文件操作类似。
下面列出部分常用的文件操作相关函数。
其中,SHFileOperation可实现整个目录的内容的复制和删除。SHFileOperation可一次实现多个目录的复制或删除,其输入参数结构体SHFILEOPSTRUCT中的pFrom(源目录)和pTo(目的目录)都可以输入多个目录,目录之间通过’\0’分割,pFrom和pTo必须以2个’\0’结尾。一般情况下,我们都只是对一个目录操作,因此,SHFileOperation调用并不是很方便,下面就对SHFileOperation进行包装,提供更方便调用的目录操作函数。
代码
BOOL SHDeleteFolder(LPCTSTR pstrFolder){ int iPathLen = _tcslen(pstrFolder); TCHAR tczFolder[MAX_PATH+1]; SHFILEOPSTRUCT FileOp; if ((NULL == pstrFolder)) { return FALSE; } if (iPathLen >= MAX_PATH) { return FALSE; } /*确保目录的路径以2个\0结尾*/ ZeroMemory(tczFolder, (MAX_PATH+1)*sizeof(TCHAR)); _tcscpy(tczFolder, pstrFolder); tczFolder[iPathLen] = _T('\0'); tczFolder[iPathLen+1] = _T('\0'); ZeroMemory(&FileOp, sizeof(SHFILEOPSTRUCT)); FileOp.fFlags |= FOF_SILENT; //不显示进度 FileOp.fFlags |= FOF_NOERRORUI; //不报告错误信息 FileOp.fFlags |= FOF_NOCONFIRMATION; //直接删除,不进行确认 FileOp.hNameMappings = NULL; FileOp.hwnd = NULL; FileOp.lpszProgressTitle = NULL; FileOp.wFunc = FO_DELETE; FileOp.pFrom = tczFolder; //要删除的目录,必须以2个\0结尾 FileOp.pTo = NULL; FileOp.fFlags &= ~FOF_ALLOWUNDO; //直接删除,不放入回收站 /*删除目录*/ if (0 == SHFileOperation(&FileOp)) { return TRUE; } else { return FALSE; }}
3. 测试
int main(){ SHDeleteFolder("D:\\removeFile"); return 0;}
1 0
- C/C++ 删除指定目录
- C语言删除目录
- C语言 递归地删除一个指定目录下所有指定类型的文件
- C语言删除指定文件
- C语言删除指定文件
- C/C++ 创建、删除目录
- linux下使用c语言删除指定目录下所有文件
- C#IO操作,删除指定目录下的所有文件夹和文件
- linux下使用c语言删除指定目录下所有文件
- c 获得指定目录的文件名
- c#winform打开指定目录的方法
- C读写文件--删除指定的一行
- 用C#.NET实现删除指定文件
- C读写文件--删除指定的一行
- C语言删除字符串中的指定字符串
- 纯C开发:目录创建,目录删除,目录遍历操作
- QT 删除指定目录
- Linux删除指定目录
- House Robber
- 七种qsort的写法
- 匿名管道-实例
- Ext.Net 后台主页布局
- 25岁的我们,该懂事了
- C/C++ 删除指定目录
- 代码中设置背景颜色
- LeetCode | Construct Binary Tree from Preorder and Inorder Traversal
- 用Buddy算法来改进uCos-ii内存管理方案
- 解决navicat连接数据库时报ORA-28547问题
- 黑马程序员--java复习之IO包中其他类
- java文件读写操作大全
- 判断字符串中中只包含数字字母
- 破解TexturePacker加密资源:使用IDA