c - stderr 和 stdout - 未缓冲与缓冲?

标签 c stream stdout stderr

我正在编写一个小程序,它根据不同的事件具有不同的控制台输出字符串。当我寻找发送这些消息的最佳方式时,我遇到了一些令人困惑的事情。

我读到过 stderr 用于将消息直接发送到控制台 - 未缓冲。相比之下,我读到 stdoutbuffered 并且通常用于将消息重定向到各种 streams?,这可能是也可能不是错误消息,到输出文件或其他一些媒体。

缓冲和不缓冲有什么区别?当我读到消息直接发送到输出并且没有缓冲时,这是有道理的。但与此同时,我意识到我并不完全确定缓冲的含义。

最佳答案

通常,stdout 是行缓冲的,这意味着发送到 stdout 的字符“堆叠”直到换行符到达,此时全部输出。

关于c - stderr 和 stdout - 未缓冲与缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990589/

相关文章:

c - loadrunner 中参数的最大长度是多少?

c - 用 C 语言构建二进制表示

Java:存储为字符串时服务器响应被切断?

c# - HttpWebRequest 分块/异步 POST

linux - 这个 Bash(和/或其他 shell?)构造叫什么?

c - 指针变量周围是否需要互斥锁?

c - float 被视为双重

java - 当 Java 应用程序以 block 的形式读取巨大文件时减少内存占用

Linux stdout 在哪里写入日志以及分配给它多少内存

linux - 我想从另一个脚本运行一个脚本,使用相同版本的 perl,并将 IO 重新路由到类似终端的文本框