stdout 和 stderr 区别

#include <stdio.h>

int main(void)
{
    char *err1 = "你遇到的错误信息是只能输出到屏幕上显示,不能被系统重定向到文件中\n";
    char *err2 = "您遇到的错误信息可以输出到屏幕上显示, 也可以被系统重定向到文件中存储\n";
    fprintf(stderr, "%s",err1);
    fprintf(stdout, "%s",err2);
    return 0;
}
  • stdout -- 标准输出设备 stdout。

  • stderr -- 标准错误输出设备

  • 两者默认向屏幕输出。

  • 但如果用转向标准输出到磁盘文件,则可看出两者区别。stdout输出到磁盘文件,stderr在屏幕。

  • 在默认情况下,stdout是行缓冲的,他的输出会放在一个buffer里面,只有到换行的时候,才会输出到屏幕。而stderr是无缓冲的,会直接输出。

猜你喜欢

转载自blog.csdn.net/weixin_33910460/article/details/90883608