【发布时间】:2014-08-09 21:08:10
【问题描述】:
是否有任何理由在 stdout 而不是 stderr 上打印错误?
我看到有些人使用标准输出,分别使用 printf() 来打印错误消息。有什么理由这样做还是只是懒得使用stderr?
【问题讨论】:
标签: c stdout stderr error-reporting
是否有任何理由在 stdout 而不是 stderr 上打印错误?
我看到有些人使用标准输出,分别使用 printf() 来打印错误消息。有什么理由这样做还是只是懒得使用stderr?
【问题讨论】:
标签: c stdout stderr error-reporting
这是懒惰。创建 stderr 是为了打印错误消息,因此您可以重定向程序的输出而不会混合错误消息。另外,我认为stderr默认是无缓冲的,所以如果你的程序崩溃了,所有的错误信息都会被打印出来(这个行为可以通过使用setvbuf来修改)。
【讨论】: