可能重复:
以理智、安全和有效的方式复制文件
我搜索了类似的主题,但找不到大型二进制文件的答案。考虑到我有非常大的二进制文件(如每个 ~10 或 ~100 GB),我如何使用标准 C++(无 POSIX 函数)使用以下函数复制它们:
bool copy(const std::string& oldName, const std::string& newName)
{
/* SOMETHING */
}
编辑:下面的实现可以吗?(改编自评论中的链接)
bool copy(const std::string& oldName, const std::string& newName)
{
bool ok = false;
std::ifstream oldStream(oldName.c_str(), std::ios::binary);
std::ofstream newStream(newName.c_str(), std::ios::binary);
if (oldStream.is_open() && newStream.is_open()) {
newStream << oldStream.rdbuf();
ok = (oldStream.good() && newStream.good());
}
return ok;
}