gpt4 book ai didi

c++ - SHFileOperation 当 pFrom = ""时删除

转载 作者:行者123 更新时间:2023-11-28 08:03:18 24 4
gpt4 key购买 nike

我有一个涉及 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com