我正在尝试使用std:ofstream更新一些代码并更改fopen()文件操作。在fopen文件操作期间,fputs()用于将内容写入失败。检查fputs ::: {{ 1}})。我需要检查内容复制到文件中。
此示例摘自:cplusplus.com
fputs() return a nonnegative number on success, or EOF on error
我正在尝试寻找一种检查// 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;
}
操作的方法。此操作是否有返回值?这会抛出异常吗?
最热烈的问候。
答案 0 :(得分:3)
对流的许多操作(包括<<
运算符(在您的情况下为非成员operator<<
function)会返回流本身。流对象具有a boolean conversion operator,您可以在条件中使用它来检查流是否在good state中。
例如
if (ofs << " more lorem ipsum")
{
// Output operation okay
}
这是最常用于输入的内容。
set an exception mask也有可能导致流在特定状态下引发异常。
默认情况下,禁用例外。