为什么stdout错误消息

时间:2014-06-19 10:45:47

标签: c stdout stderr error-reporting

有没有理由在stdout上打印错误而不是stderr?

我看到有些人使用stdout,分别是printf()来打印错误信息。有没有理由这样做或只是懒得使用stderr?

1 个答案:

答案 0 :(得分:6)

这是懒惰。创建stderr是为了打印错误消息,因此您可以重定向程序的输出而不会出现混合错误消息。此外,我认为默认情况下stderr是无缓冲的,因此如果程序崩溃,则会打印所有错误消息直至崩溃的位置(可以通过使用setvbuf修改此行为)。