2

即数据已经由另一个程序提供,或者用户必须手动输入。我的意思是这两种状态:

dir /b /s *.* | myprogram

myprogram

在第二种情况下,程序将等待用户输入。有没有办法防止这种情况?

4

2 回答 2

6

POSIX 有isatty(),而 Visual C++ 有_isatty(),如果文件描述符是终端或命令行(例如isatty(fileno(stdin)).

于 2012-05-13T20:18:53.250 回答
3

是的。用于GetStdHandle获取,然后通过调用它来STD_INPUT_HANDLE检查句柄是否属于FILE_TYPE_PIPE第一种情况或 第二种情况。FILE_TYPE_CHARGetFileType

于 2012-05-13T20:08:32.847 回答