Обнаружение причины отказа открыть ofstream, когда сбой () верен

Если вам нужен WYSIWYG-редактор для проекта Rails 3.2, взгляните на Mercury Editor . Существует также Railscast (# 296) , который объясняет, как он работает.

Raptor Editor - еще один замечательный вариант.

Для крошечной альтернативы я предлагаю CLEditor (но, похоже, в настоящее время «заброшены»)

17
задан Sildoreth 7 April 2015 в 19:01
поделиться

2 ответа

К сожалению, не существует стандартного способа выяснить, почему именно open () не удалось. Обратите внимание, что sys_errlist не является стандартным C ++ (или, как мне кажется, стандартным C).

5
ответ дан 30 November 2019 в 13:34
поделиться

Функция strerror из может оказаться полезной . Это не обязательно стандартно или переносимо, но для меня это нормально, если я использую GCC в системе Ubuntu:

#include <iostream>
using std::cout;
#include <fstream>
using std::ofstream;
#include <cstring>
using std::strerror;
#include <cerrno>

int main() {

  ofstream fout("read-only.txt");  // file exists and is read-only
  if( !fout ) {
    cout << strerror(errno) << '\n'; // displays "Permission denied"
  }

}
19
ответ дан 30 November 2019 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: