如何查看文件拷贝写入是否成功

How to check if file copy and writing was successful

我正在使用 C++ 11 以这种方式复制文件:

std::ifstream  src(srcPath, std::ios::binary);
std::ofstream  dst(destinationPath, std::ios::binary);
dst << src.rdbuf();

我正在这样创建一个新文件:

std::ofstream out(path);
out << fileContent;
out.close();

在这两种情况下,如何检查操作是否真的成功或失败?

operator bool是为流插入的ostream&return定义的。因此,您可以使用 if 语句测试是否成功:

if (dst << src.rdbuf())
    { // ... }

if (out << fileContent)
    { // ... }