- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现 MSVC 的 _doserrno
上的文档 可以这么说,全局变量非常“稀疏”。 errno
的文档中提到了它的存在。 ,错误代码的标准 C 全局变量。同时_doserrno
似乎是 MSVC 扩展。文档提到它可能提供有关 I/O 错误的附加信息,但它也说大多数函数不设置它。
但是什么函数设置它呢?好像没有这个列表,还是我错过了什么?在各个函数的文档中,我也没有看到任何提及,例如“此函数[未]设置_doserrno
”。那么我如何知道一个函数是否设置了它呢?很困惑,不是吗?
此外,文档没有提及 _doserrno
的值如何变化。 必须进行解释。如果从我自己的测试来看,这只是从 Win32 API 传递到 C API 的 Win32 错误代码。但情况总是如此吗?以及如何转换_doserrno
串起来?
(我知道我可以直接从 Win32 API 使用 FormatMessage()
从 Win32 错误代码获取字符串。但是恢复到 Win32 API 完全违背了在 C API 中使用 _doserrno
的目的!)
问候,
穆尔德
最佳答案
我认为不可能做你想做的事。
如果您想坚持使用可移植的 C 函数进行 IO,您将不会收到合理的错误代码或消息:C 或 C++ 标准库都不会公开这些内容。
如果您想在 Windows 上获得良好的错误消息,则必须使用 Win32 API 而不是可移植的 C 函数。顺便说一句,上面有很好的 OO 包装器,例如请参阅CAtlFile对于文件。
关于c++ - 急需 _doserrno (MSVC) 的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48476407/
我发现 MSVC 的 _doserrno 上的文档 可以这么说,全局变量非常“稀疏”。 errno 的文档中提到了它的存在。 ,错误代码的标准 C 全局变量。同时_doserrno 似乎是 MSVC
我是一名优秀的程序员,十分优秀!