【发布时间】:2010-09-23 04:03:54
【问题描述】:
当 C++ 流打开失败时,有什么方法可以获取特定的错误情况?也就是说,它是否因为文件不存在或权限错误等而失败。基本上我正在寻找与普通 C 中 fopen() 的 errno 等效的功能。
GCC 似乎正确设置了 errno,但这似乎不是 C++ 标准所要求的,我无法确定这只是他们实现流的方式的产物,还是故意的特性(因此我不知道是否会跨版本持续存在)。
有没有办法可靠地获取此信息,无论是在标准 C++ 中还是在一个或多个主要编译器中非偶然?
【问题讨论】: