Linux 终端编程:从基础到实践
1. 终端输出重定向与 /dev/tty 的应用
在 Linux 编程中,有时需要确保程序与用户的交互不被输出重定向影响。可以使用 isatty 函数来检查标准输出是否连接到终端,若不是则终止程序。示例代码如下:
if(!isatty(fileno(stdout))) {
fprintf(stderr,"You are not a terminal!\n");
exit(1);
}
do {
choice = getchoice("Please select an action", menu);
printf("You have chosen: %c\n", choice);
} while(choice != 'q');
exit(0);
运行示例:
$ ./menu2
Choice: Please select an action
a - add new record
d - delete record
q - quit
q
You have chosen: q
$ menu2 > file
You are not a terminal!
$
可以将标准输出和标准错误输出重定向到不同文件:
$ ./menu2 >file 2>file.error
$
<
超级会员免费看
订阅专栏 解锁全文
4800

被折叠的 条评论
为什么被折叠?



