作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个涉及 SHFileOperation 的问题:
SHFILEOPSTRUCT sf2;
memset(&sf2,0,sizeof(sf2));
sf2.hwnd = NULL;
sf2.wFunc = FO_DELETE;
sf2.fFlags = FOF_NOCONFIRMATION;
sf2.pFrom = pathSubDir; // where pathSubDir = ""
//2. Delete temporary files
int n = SHFileOperation(&sf2);
我的期望是,因为 pathSubDir 是“”,它没有删除任何东西,我应该得到 n NOT 等于 0。但是,事实并非如此。我以 n = 0 结束,这意味着操作已成功完成。我很好奇是否有人可以向我解释为什么我的假设是错误的。谢谢。
最佳答案
API 要求 pFrom 是双空终止的。像 ""
这样的简单空字符串不符合条件。 API 可以读取第一个空字符后的任何内存并成功删除这些文件。
另一种解释是,如果您的字符串格式确实正确,则 API 已成功删除所有请求的文件,并且在此过程中没有遇到任何故障。它完成了您要求的所有删除操作,因此返回成功。
关于c++ - SHFileOperation 当 pFrom = ""时删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10856537/
我有一个涉及 SHFileOperation 的问题: SHFILEOPSTRUCT sf2; memset(&sf2,0,sizeof(sf2)); sf2.hwnd = N
我是一名优秀的程序员,十分优秀!