如何使用 C 在 Windows 中复制和粘贴文件?

新手上路,请多包涵

我已经用谷歌搜索了这个,但我仍然对如何使用它感到困惑。我正在制作文件管理器,我希望能够将文件复制并粘贴到新目录中。我知道要复制我需要使用 file.copy() ,但我不确定如何在我的代码中实现它。

我想使用 fstream 来做到这一点。

原文由 user2630617 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

如果您使用的是 Win32 API,请考虑查看函数 CopyFileCopyFileEx

您可以通过类似于以下方式使用第一个:

 CopyFile( szFilePath.c_str(), szCopyPath.c_str(), FALSE );

这会将在 --- 的内容中找到的文件复制到 --- szCopyPath szFilePath 的内容中,如果复制不成功,将返回 FALSE 。要了解有关函数失败原因的更多信息,您可以使用 GetLastError() 函数,然后在 Microsoft 文档中查找错误代码。

原文由 Thomas Russell 发布,翻译遵循 CC BY-SA 3.0 许可协议

void copyFile(const std::string &from, const std::string &to)
{
    std::ifstream is(from, ios::in | ios::binary);
    std::ofstream os(to, ios::out | ios::binary);

    std::copy(std::istream_iterator(is), std::istream_iterator(),
          std::ostream_iterator(os));
}

原文由 R3D3vil 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题