我正在尝试使用 fmt::output_file
并正在寻找一种方法来检查文件是否已成功打开以进行写入。
这可能吗?执行此操作的惯用方法是什么?
最佳答案
在底层,fmt::output_file
将在 Windows 上使用 sopen_s
打开文件,在其他系统上使用 open
打开文件。如果文件无法打开写入,则会抛出std::system_error
。您可以使用 std::system_error::code
检索返回码如果需要的话。
请注意,默认情况下,fmt::output_file
将使用 file::WRONLY | 打开文件。文件::创建| file::TRUNC
标志。为了确保在给定路径不存在时不会创建文件,您应该手动传递一个不带 file::CREATE
:
fmt::output_file(file_name, fmt::file::WRONLY | fmt::file::TRUNC);
关于c++ - 有没有办法检查 fmt::output_file 是否已成功打开进行写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74548103/