C 标准输入与控制台和键盘输入相同吗
标准输入与控制台和键盘输入在C语言中是否相同?是的,没错。实际上,您可以通过read()系统调用从stdin接受输入。从手册页: 函数的作用是:测试fd是否是引用终端的打开文件描述符C 标准输入与控制台和键盘输入相同吗,c,stdin,C,Stdin,标准输入与控制台和键盘输入在C语言中是否相同?是的,没错。实际上,您可以通过read()系统调用从stdin接受输入。从手册页: 函数的作用是:测试fd是否是引用终端的打开文件描述符 #包括 int-isatty(int-fd); 如果fd是指向终端的开放文件描述符,则isatty()返回1;否则返回0,并设置errno以指示错误 因此,isatty(stdin)在键入时返回非零,在重定向时返回零。不一定
#包括
int-isatty(int-fd);
如果fd是指向终端的开放文件描述符,则isatty()返回1;否则返回0,并设置errno以指示错误
因此,
isatty(stdin)
在键入时返回非零,在重定向时返回零。不一定<可以从文件(例如,可执行文件
)或其他非交互式设备重定向code>stdin
安非他明机器的答案为你提供了区别的工具 这意味着stdin和console不一样。isatty()很接近,尽管终端不一定由键盘或用户输入驱动,但是在以编程方式驱动的情况下,程序的行为应该与接收键盘输入的情况类似。
#include <unistd.h>
int isatty(int fd);