我正在编写一个小程序,它根据不同的事件具有不同的控制台输出字符串。当我寻找发送这些消息的最佳方式时,我遇到了一些令人困惑的事情。
我读到过 stderr
用于将消息直接发送到控制台 - 未缓冲
。相比之下,我读到 stdout
是 buffered
并且通常用于将消息重定向到各种 streams?
,这可能是也可能不是错误消息,到输出文件或其他一些媒体。
缓冲和不缓冲有什么区别?当我读到消息直接发送到输出并且没有缓冲时,这是有道理的。但与此同时,我意识到我并不完全确定缓冲的含义。
最佳答案
通常,stdout 是行缓冲的,这意味着发送到 stdout 的字符“堆叠”直到换行符到达,此时全部输出。
关于c - stderr 和 stdout - 未缓冲与缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990589/