gpt4 book ai didi

c++ - CopyFile 成功,MoveFile 失败,参数相同 - C++

转载 作者:行者123 更新时间:2023-11-30 05:11:04 25 4
gpt4 key购买 nike

我正在处理一个非常令人沮丧的 C++ 问题。我需要使用 MoveFile 函数,但这失败了。现在我正在像这样使用 CopyFile:

partialresult = L"D:\\CppWork\\test2\\decToBin.exe";
finala = L"D:\\CppWork\\test2\\PeFiles_\\decToBin.exe";

if (0 == CopyFile(partialresult, finala,b)) {/////
DWORD err = GetLastError();
std::cout << " -> Copy Fail" << std::endl;
}

复制工作正常,但如果我用 MoveFile 替换 CopyFile(不更改路径)失败,代码为 0x20 (MSDN doc ->ERROR_FILE_NOT_FOUND)。此外,如果我尝试用 CopyFile 替换 MoveFile,然后从预览路径中删除文件,Copy 可以工作,但 Delete 再次失败并返回 ERROR_FILE_NOT_FOUND

bool b = false;
if (0 == CopyFile(partialresult, finala,b)) {//copy works but when try to delete the file give error
DWORD err = GetLastError();
std::cout << " -> Copy Fail" << std::endl;
outFile << " -> Copy Fail" << std::endl;
}
else {
std::cout << " -> Copy Done" << std::endl;
outFile << " -> Copy Done" << std::endl;
if (!DeleteFile(partialresult))
DWORD err= GetLastError(); //error is "ERROR_FILE_NOT_FOUND"
}

有人知道这里发生了什么吗?谢谢。

最佳答案

我已经解决了 CreateFile 的问题,方法是在过程完成后将它们标记为删除:

 CreateFile(path, GENERIC_READ,FILE_SHARE_DELETE,NULL, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE,NULL);

谢谢大家:)

关于c++ - CopyFile 成功,MoveFile 失败,参数相同 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45300716/

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