作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 SHFileOperation 将文件从一个位置复制到另一个位置:
SHFILEOPSTRUCT fileop;
fileop.hwnd = 0;
fileop.wFunc = FO_COPY;
fileop.pFrom = L"C:\\SomeDirectory\\SomeName.jpg\0";
fileop.pTo = L"C:\\SomeOtherDirectory\\SomeName.jpg\0";
fileop.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_SILENT;
fileop.fAnyOperationsAborted = FALSE;
fileop.hNameMappings = 0;
fileop.lpszProgressTitle = 0;
SHFileOperation(&fileop);
问题是,不是在 SomeOtherDirectory 中获取 SomeName.jpg 的拷贝,而是创建了一个名为 SomeOtherDirectory\SomeName.jpg 的空目录,有什么线索吗?
最佳答案
对于FO_COPY
和FO_MOVE
操作,SHFILEOPSTRUCT
的pTo
成员必须是一个位置,即一个目录, 而不是目标文件名。该目录允许不存在,在这种情况下,即使它看起来像一个文件名也会被创建。
您应该只指定 "C:\\SomeOtherDiretory\0"
或使用 FO_RENAME
。
至于为什么你的文件没有创建,你查看返回值了吗?
关于c++ - SHFileOperation 创建空目录而不是文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3491499/
在纯 Ruby 中删除目录中所有文件的安全有效方法是什么?我写了 Dir.foreach(dir_path) {|f| File.delete(f) if f != '.' && f != '..'}
我有一个单元测试(在 VS2008 或 VS2010 中使用 MSTest),我在其中创建了一个这样的文件夹: [TestMethod] public void TestMethod1() {
有人在 CVS 中创建了一个空包。我想在 Intellij 中 checkout 这个包,但 intellij 中没有出现任何内容。 有人知道原因以及如何解决吗? 最佳答案 您必须在结帐 Intell
我是一名优秀的程序员,十分优秀!