你好,我有以下问题:
我想将程序(在我们的情况下为c
程序)的输出写入文件。到目前为止,我尝试使用|
,>
,但无济于事:
main.c
#include<stdio.h>
int main()
{
printf("Echo World");
return 3;
}
重击命令
gcc main.c
=>我得到一个名为exe
的{{1}}
a.exe
或./a | test.txt
./a > test.txt
=> cat test.txt
无论哪种方法,我都能得到正常的Echo World
,因为我将程序的Echo World
定向到文件。
但是{{ 1}}程序(在我们的情况下为stdout
)也属于return
吗?我怎样才能得到它?
答案 0 :(得分:0)
您的return 3
是您应用程序的返回值,因此将被视为您应用程序的exit status
,不会以领事或标准输出的形式打印。重定向可以在stderr(标准错误)和stdout(标准输出)上完成,但不能在退出状态下完成。要重定向退出状态,您必须执行以下操作
./a > test.txt
echo $? >> test.txt