C中的isatty()是什么?

您好,谁能告诉我什么是参数isatty()在C中的参数。 我有以下代码,但我不明白第一个输出三个数字将是1,所有左边是0。

#include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(){ for(int i=0;i<100;i++){ int t=isatty(i); printf("%d",t); } return 0; } 

Solutions Collecting From Web of "C中的isatty()是什么?"

快速查看您的手册页将显示:

 DESCRIPTION The isatty() function tests whether fildes, an open file descriptor, is associated with a terminal device. 

进一步的调查会导致你发现文件描述符0,1和2(又名STDIN_FILENO,STDOUT_FILENO和STDERR_FILENO)按照惯例设置为当你的程序从终端运行时指向你的终端。

isatty()是一个函数,如果fd – (文件描述符)引用终端,则返回1

它来自#include

 #include<unistd.h> 

它告诉文件描述符是否连接到一个终端。

你可以在这里阅读更多关于它的信息: http : //linux.die.net/man/3/isatty

检查参考 :

isatty – 测试一个文件描述符是否指向一个终端

但isatty()采取的参数是什么意思?

该参数是标准I / O库的文件描述符表的索引。 索引0,1和2保留为stdinstdoutstderr 。 所有其他索引都是指您可以打开的文件描述符。