Есть ли способ получить определенное условие ошибки при открытии потока C++? То есть, был ли он неудачным, потому что файл не существовал, или разрешения были неправильными, или т. Д. В основном я ищу функциональность, эквивалентную errno для fopen() в plain C.Можете ли вы получить определенное условие ошибки при открытии потока C++?
GCC, кажется, правильно устанавливает errno , но это не похоже на стандарт C++, и я не могу определить, является ли это просто артефактом того, как они реализовали потоки, или преднамеренной функцией (и, следовательно, я не знаю, будет ли она сохраняться версии).
Есть ли способ получить эту информацию надежно, либо в стандартном C++, либо не случайно в одном или нескольких основных компиляторах?
У вас есть ссылка на то, где это указано в документе VS? Я смотрел на потоковые страницы в MSDN, но я не могу найти упоминания об этом поведении. Я не говорю, что это не сработает, но было бы неплохо увидеть официальный документ. – 2010-03-19 10:19:18