Когда ofstream :: open завершится ошибкой?

Я пробую использовать операторы try, catch, throw на C ++ для обработки файлов, и я написал фиктивный код, чтобы уловить все ошибки. Мой вопрос в том, чтобы проверить, правильно ли я все понял, мне нужно, чтобы произошла ошибка. Теперь я могу легко проверить infile.fail () , просто не создав файл с требуемым именем в каталоге. Но как я смогу проверить то же самое для аутфайла. fail () ( outfile - это ofstream , где as infile - это ifstream ). В этом случае будет ли значение для outfile.fail () истинным? Пример кода

[из комментариев к ответу unapersson, упрощенный, чтобы прояснить проблему -zack]:

#include <fstream>
using std::ofstream;

int main() 
{
    ofstream outfile;
    outfile.open("test.txt");
    if (outfile.fail()) 
        // do something...... 
    else 
        // do something else..... 
    return 0; 
}
16
задан Robᵩ 29 April 2011 в 19:01
поделиться