我正在尝试打开文件以进行输出,但失败了,原因是basic_ios :: clear。我具有对要尝试写入的目录的写访问权,并且能够触摸该文件以验证是否可以写入该文件。
我正在使用RHEL 6.9和g ++ 4.4.7。
unsigned int write (std::string fname)
{
try
{
std::ofstream file;
file.exceptions (std::ios_base::badbit | std::ios_base::failbit);
file.open (fname.c_str(), std::ios::binary)
}
catch (const std::ios_base::failure &e)
{
std::cout << "Error Writing: " << fname << std::endl;
std::cout << e.what() << std::endl;
}
}
当我通过调试器运行此命令时,执行open()语句时会遇到问题。输出为:
Error Writing: <fname>
basic_ios::clear
关于我做错了什么或应该寻找其他地方的任何想法,为什么我会收到此异常?