Я пытаюсь открыть файл для вывода, но он не работает по причине 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
Любые идеи о том, что я делаю неправильно или где еще я должен посмотреть, почему я получаю это исключение?