gpt4 book ai didi

c++ - 是否有相当于 fstream 的 boost 功能会导致无法打开文件?

转载 作者:行者123 更新时间:2023-11-28 07:11:27 26 4
gpt4 key购买 nike

正如标题所说,是否有一种 boost 方法可以完成与 fstream 相同的事情,但不同之处在于它会在失败时抛出,而不是在流中设置一些标志?
我知道我可以手动检查并返回/抛出,但我不想用检查污染我的代码......

最佳答案

我的想法:

使用带异常的流和“不要用检查污染 [...] 代码”将在您的代码中产生无用的诊断消息:

#include <iostream>
#include <fstream>

int main() {
std::fstream f;
f.exceptions(std::ios_base::failbit);
try {
f.open("Not-Existing");
int formatted_value;
f >> formatted_value; // No matching input.
// ... and imagine more
if(f.eof()) { /* To ensure the entire stream is consumed, is not handled */ }
}
catch(const std::exception& e) {
std::cerr << "Failure [Something turned out wrong]" << std::endl;
}
}

关于c++ - 是否有相当于 fstream 的 boost 功能会导致无法打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com