如果我们要拒绝用户将打印输出被重定向输出到其他地方,比如文件或者/dev/null,那么我们可以使用isatty函数来判定程序执行是否有被重定向输出。
示例代码如下:
[code="cpp"]
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
int main(int argc,char **argv){
if(!isatty(fileno(stdout))){
fprintf(stderr,"you are not a terminal!
");
exit(1);
}
/*********逻辑代码*********/
exit(0);
}
[/code]