ofstream :: open throws basic_ios :: clear - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь открыть файл для вывода, но он не работает по причине 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

Любые идеи о том, что я делаю неправильно или где еще я должен посмотреть, почему я получаю это исключение?

...