stdout 与 stderr 的区别

本文详细解析了stdout和stderr的区别,阐述了它们在程序输出中的作用,并通过实例展示了如何利用它们进行不同类型的输出分流,包括代码示例、运行结果分析以及应用场景说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

stdout 与 stderr 的区别

一直没有注意 stdout 与 stderr 的区别,以为只是不同的描述方式。看来不是这样的。

  • stdout 主要处理的是使用者输出
  • stderr 主要处理的错误信息输出
  • 相比stdout, stderr没有缓冲设置

将"正常输出"和"错误信息输出"加以分离,可以让程序以不同的方式对待两种不同的输出,例如可以将错误信息显示在控制台上,而正常输出重新定向到某个文件上。

Example

#include <stdio.h>

void main()
{
    fprintf(stdout, "from stdout\n");
    fprintf(stderr, "from stderr\n");
}

 

编译成 hello.exe后,执行命令行:

hello.exe > out.txt

那么会发现屏幕输出:

from stderr

同时out.txt中的内容为:

from stdout

转载于:https://www.cnblogs.com/tanhehe/p/3251131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值