gpt4 book ai didi

c - 是否可以使用 tee 捕获标准输入?

转载 作者:行者123 更新时间:2023-12-04 07:50:48 25 4
gpt4 key购买 nike

是否可以从 scanf(...) 捕获输入?当我将程序通过管道传输到 tee 时功能?例如,我有这个程序:

int main() {
int d;
printf("Enter a number: ");
scanf("%d", &d);
printf("Your number is %d\n", d);
}
当我执行命令时 ./a.out | tee out.txt , 我懂了
7
Enter a number: Your number is 7
out.txt是:
Enter a number: Your number is 7
如何让终端和输出文件同时显示:
Enter a number: 7
Your number is 7

最佳答案

如果要捕获终端 session ,请使用 script .例如:

$ cat a.c
#include <stdio.h>
int
main(void)
{
int d;
printf("Enter a number: ");
if( scanf("%d", &d) == 1 ){;
printf("Your number is %d\n", d);
}
return 0;
}
$ gcc a.c
$ rm -f foo
$ SHELL=/bin/sh script foo
Script started, output file is foo
sh-3.2$ ./a.out
Enter a number: 5
Your number is 5
sh-3.2$ exit
exit

Script done, output file is foo
$ cat foo
Script started on Wed Apr 7 16:48:03 2021
sh-3.2$ ./a.out
Enter a number: 5
Your number is 5
sh-3.2$ exit
exit

Script done on Wed Apr 7 16:48:13 2021

关于c - 是否可以使用 tee 捕获标准输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66990483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com