700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > stdout和stderr重定向

stdout和stderr重定向

时间:2023-05-27 03:40:50

相关推荐

stdout和stderr重定向

stdout和stderr的重定向

C语言中对应于显示器的指针有两个:stdout和stderr。

书上说,对于前者,信息输出时总是先送入缓冲区(行间缓存),然后再输出到屏幕;而对后者,信息是不经过缓冲区直接输入到屏幕的。因此,向stdout输出的信息是可以被重定向的,输出到stderr的信息则不能被重定向。

但是我认为输出到stderr的信息也是可以被重定向的。下面举例说明:

#include <stdio.h>int main(void){fprintf(stdout, "This is stdout\n");fprintf(stderr, "This is stderr\n");return 0;}

(1)直接在命令行中运行程序

(2)重定向到文件

命令:stdouterr > result.txt

可以看到只有stdout被重定向到文件了

(3)将标准输出重定向到文件

命令:stdouterr 1> result1.txt

可以看到只有stdout被重定向到文件了

(4)将标准错误重定向到文件

命令:stdouterr 2> result2.txt

可以看到输出到stderr的内容也是可以被重定向到文件的

(5)将标准输出和标准错误重定向到同一文件

命令:stdouterr > result3.txt 2>&1

标准输出和标准错误被重定向到同一文件

(6)将标准输出和标准错误重定向到不同文件

命令:stdouterr 1> result3a.txt 2> result3b.txt

标准输出和标准错误被重定向到不同文件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。