使用 std:ofstream 时将内容副本检查到文件中

Check the copy of contents into a file when using std:ofstream

我正在尝试更新一些代码并使用 std:ofstream 更改 fopen() 文件操作。在 fopen 文件操作期间,fputs() 用于将内容写入 fail.Checking return 的 fputs ::(fputs() return a nonnegative number on success, or EOF on error)。我需要将内容的副本检查到文件中。

本例取自:cplusplus.com

// ofstream::open / ofstream::close
#include <fstream>      // std::ofstream



int main () {

  std::ofstream ofs;
  ofs.open ("test.txt", std::ofstream::out | std::ofstream::app);

  ofs << " more lorem ipsum";

  ofs.close();

  return 0;
}

我正在尝试找到一种方法来检查 ofs << " more lorem ipsum"; operation.Is 这个操作有任何类型的 return 吗?这会抛出什么吗?

最诚挚的问候。

流上的许多操作,包括 << 运算符(在您的情况下是非成员 operator<< function), returns the stream itself. And the stream objects have a boolean conversion operator that you can use in a condition to check if the stream is in a good state 或不是。

比如喜欢

if (ofs << " more lorem ipsum")
{
    // Output operation okay
}

这是最常用于输入的。


还有可能 set an exception mask 这将导致流在特定状态下抛出异常。

默认情况下禁用例外。