我正在为OS X和Linux编写一个C程序,并且我想根据是否将其输出到终端来调整输出。我知道我们已经在Shell脚本中介绍了如何执行此操作 但是,如何在C程序中执行此操作?
用途isatty():
isatty()
$ man isatty ISATTY(3) Linux Programmer's Manual ISATTY(3) NAME isatty - does this descriptor refer to a terminal SYNOPSIS #include <unistd.h> int isatty(int desc); DESCRIPTION returns 1 if desc is an open file descriptor connected to a terminal and 0 otherwise.
由于stdout始终是文件描述符1,因此您可以执行以下操作:
stdout
if(isatty(1)) // stdout is a terminal