Win32 删除非空目录
来源:互联网 发布:淘宝客不战 编辑:程序博客网 时间:2024/06/10 12:10
Win32 删除非空目录
DeleteFile(); //这是删除文件的win32 APIRemoveFile(); //这是删除空目录的win32 API(注意,如果目录不为空的话,这个函数将执行失败)
如果目录不为空的话,我知道的有两种方法删除:
1.调用命令行
system("rmdir /s /q dirname"); //dirname是要删除的目录名称,这种方式,在使用MFC程序的时候出闪过一个CMD的窗口/s是级联删除 /q 是不提示(在命令行下操作的话,如果不加这个开关,会有提示确认是否删除目录,而在程序中不允许停下)
2.使用win32 API
//删除当前目录下的tempDir目录(子目录也将一并删除)
SHFILEOPSTRUCT FileOp; FileOp.fFlags = FOF_NOCONFIRMATION; FileOp.hNameMappings = NULL; FileOp.hwnd = NULL; FileOp.lpszProgressTitle = NULL; FileOp.pFrom = ".\\tempDir"; FileOp.pTo = NULL; FileOp.wFunc = FO_DELETE; SHFileOperation(&FileOp);
此处有一个地方要留心一下,就是FileOp.pFrom这个参数,它使用的字符串一定是要'\0'结尾的,这个地方使用".\\tempDir",这个字符串默认的结束字符就是'\0',所以如果存在这个目录或者文件的话,一定可以将其删除,如果像下面这样写的话就会出错:
std::string delPath = ".\\tempDir";...FileOp.pFrom = delPath.c_str(); // 此时字符串没有以'\0'结尾,所以删除的时候会出错
0 0
- Win32 删除非空目录
- 删除非空目录
- EVC删除非空目录
- 删除多级非空目录
- EVC删除非空目录
- EVC删除非空目录
- 删除非空目录文件夹
- 嵌套删除非空目录
- 删除非空目录(Windows)
- 删除文件夹目录(非空)
- linux删除非空目录
- 递归删除非空目录
- mac删除非空目录
- 删除一个非空目录
- asp删除非空目录的例子
- 在linux下删除非空目录
- PHP删除非空目录函数
- PHP删除非空目录函数
- 蓝牙学习之旅——低功耗蓝牙之链路层Link Layer
- linux替换、截取文件内容的sed命令
- String\StringBuffer\StringBuilder
- lua基础
- 浅谈Java设计模式(七)装饰模式(Decorator)
- Win32 删除非空目录
- MySQL NULL排序到最后面
- VisualSVN server
- Golang 命令行自动设置网卡名称为LAN or WAN
- 【学习笔记-php】php中__get方法的使用
- Mac下获取Android Studio的SHA1,MD5,SHA256值的方法
- Layer3 BGP-9 BGP特性
- 安裝 FOEX Developer Addon (FDA)
- sql注入及防止SQL注入