stdout和stderr的区别
目录
概述
下文主要讲解一下 stdout 和 stderr 的区别。
stdout和stderr的区别
如下一个小例子:
|
|
编译运行这个小例子,可以看到在控制台输出了两行文字,看不出有什么区别,假如上面的小例子生成的可执行文件名为1.exe,然后在控制台使用系统的重定向功能命令:
|
|
执行这个命令之后,在控制台可以看见 err1 字符串被打印出来,在1.txt文件中可以看到 err2 字符串。
一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
- 标准输入文件(stdin): stdin的文件描述符为0,Unix程序默认从stdin读取数据
- 标准输出文件(stdout): stdout的文件描述符为1,Unix程序默认向stdout输出数据
- 标准错误文件(stderr): stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息
参考资料
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。