您好,谁能告诉我什么是参数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; }
快速查看您的手册页将显示:
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保留为stdin
, stdout
和stderr
。 所有其他索引都是指您可以打开的文件描述符。