我知道我们可以使用
perror()
在 C 中打印错误。我只是想知道是否有 C++ 替代方案,或者我是否必须在我的程序中包含这个(以及因此 stdio.h)。我试图避免尽可能多的 C 函数。
最佳答案
你可以这样做:
std::cerr << strerror(errno) << std::endl;
这仍然会调用 strerror
,因此您实际上只是将一个 C 函数替换为另一个。 OTOH,它确实允许您通过流编写,而不是混合 C 和 C++ 输出,这通常是一件好事。至少 AFAIK,C++ 没有向库中添加任何内容来替代 strerror
(除了生成 std::string
,我不确定是什么它会从 strerror
改变)。
关于perror() 的 C++ 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3320898/