коллега только что сказал мне, что этот код:ifstream: проверить, успешно открыт
std::ifstream stream(filename.c_str());
if (!stream)
{
throw std::runtime_error("..");
}
было бы неправильно. Он сказал, что ifstream
оценивает 0, если открытие выполнено успешно. Мой код работает, но я хотел найти документацию, но не видел, где говорится, как проверить успешность открытия. Можете ли вы указать мне на это?
не забудьте проверить 'stream.bad()', 'stream.good()', 'stream.fail()' и 'stream.is_open()'. вздох ... – Inverse
Большое спасибо за ссылку! Я согласен с тем, что делать этот чек с помощью этого оператора неплохо, поэтому я его изменю. У нас не было бы обсуждения с if (stream.fail()). – Philipp
The! перегружен, чтобы проверить «fail» и «bad» –