【发布时间】:2014-04-16 17:04:35
【问题描述】:
假设我有这种情况: 我将某些程序的标准错误重定向到文件 output.err 并将标准输出重定向到文件 output.out。当程序运行但在允许正常完成之前被杀死时,我注意到 output.err 文件包含预期的输出,但是即使我保证执行了适当的 printf 语句,该 output.out 也是空的。 这是为什么呢?
【问题讨论】:
-
stdout 是缓冲的,而 stderr 不是,所以 stderr 在写入时会命中文件,而不是稍后。
标签: c error-handling