SHFileOperation返回1223,仅在xp上
SHFileOperation returns 1223, only on xp
我有一个小控制台应用程序将所有文件从一个usb驱动器复制到另一个:
void CopyAllFiles(wchar_t** source, wchar_t* destination)
{
WCHAR src[MAX_PATH + 1], dest[MAX_PATH + 1];
wsprintf(src, L"%s* ", *source);
src[wcslen(src) + 1] = 0; \Just to be sure it ends with " "
wsprintf(dest, L"%s ", destination);
dest[wcslen(dest) + 1] = 0;
cout << "Source: " << src << endl << "Destination: " << dest << endl;
SHFILEOPSTRUCT s = { 0 };
s.hwnd = nullptr;
s.wFunc = FO_COPY;
s.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_NOCOPYSECURITYATTRIBS | FOF_RENAMEONCOLLISION | ;
s.pTo = dest;
s.pFrom = src;
cerr << "SHFileOperation returns " << SHFileOperation(&s) << endl;
}
这在Windows 8.1上工作得很好,但是当我尝试在WinXP上以相同的配置运行它时,SHFileOperation返回1223。我尝试从4GB USB复制1GB到空的64GB USB。
知道为什么会这样吗?
好的,我没有意识到我必须指定现有目录的路径-在Win8上它会自动创建目录,在xp上它不会。
非常感谢大家的帮助和建议。
相关文章:
- 如何用参数值调用函数(仅在运行时已知)
- 模板方法访问正向声明的类仅在没有此指针的情况下无法编译
- 仅在函数模板中为那些定义了函数的类型执行函数
- 如何使布尔变量仅在设置为 true 时才为真?
- C++,Qt:仅在双击后编辑qtablewidget项目
- WinVerifyTrust 仅在使用文件而不是内存 blob 时才有效
- 仅在大型阵列上出现合并排序分段错误
- 仅在可变模板类中调用现有函数
- pcap_handler回调仅在使用 NPCAP v0.9991 时包含空数据包
- CIN 仅在输入非数字值时跳过下一个 CIN
- 仅在 MacOS 上析构函数的未定义符号
- 仅在 zlib c++ 库中强制动态编码
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- 如何运行一个类的多个对象,该类的函数仅在C++中调用线程?
- C++ SFML 仅在按下按钮时应用
- 如果变量数据包含大于 vector 所有元素的整数,则仅在视觉工作室上接收"矢量下标超出范围"?
- 如何使虚函数接受仅在派生类中定义的数据类型?
- 仅在少数方法(静态或共享库)中解析的外部符号
- 仅在 rasperry pi 要求时才在 Arduino 上运行C++
- SHFileOperation返回1223,仅在xp上