标签: c stdout stderr error-reporting
有没有理由在stdout上打印错误而不是stderr?
我看到有些人使用stdout,分别是printf()来打印错误信息。有没有理由这样做或只是懒得使用stderr?
答案 0 :(得分:6)
这是懒惰。创建stderr是为了打印错误消息,因此您可以重定向程序的输出而不会出现混合错误消息。此外,我认为默认情况下stderr是无缓冲的,因此如果程序崩溃,则会打印所有错误消息直至崩溃的位置(可以通过使用setvbuf修改此行为)。