使用 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 这将导致流在特定状态下抛出异常。
默认情况下禁用例外。
我正在尝试更新一些代码并使用 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 这将导致流在特定状态下抛出异常。
默认情况下禁用例外。