也就是说,数据已经由其他程序提供,或者用户必须手动input。 我的意思是这两个国家:
dir /b /s *.* | myprogram
和
myprogram
在第二种情况下,程序将等待用户input。 有没有办法来防止呢?
POSIX具有isatty()
,而Visual C ++具有_isatty()
,如果文件描述符是终端或命令行,例如isatty(fileno(stdin))
,则两者都将返回true。
是。 使用GetStdHandle
来获取STD_INPUT_HANDLE
,然后通过调用GetFileType
来检查句柄是第一种情况下的FILE_TYPE_CHAR
类型还是第二种情况下的FILE_TYPE_CHAR
。