【发布时间】:2011-02-11 19:07:26
【问题描述】:
基本上,我试图在调用程序时检查标准输入中是否有任何内容,所以如果我有另一个名为 output 的文件写入标准输出,那么
./output | ./program 应该可以工作,./program 应该退出并出现错误
【问题讨论】:
基本上,我试图在调用程序时检查标准输入中是否有任何内容,所以如果我有另一个名为 output 的文件写入标准输出,那么
./output | ./program 应该可以工作,./program 应该退出并出现错误
【问题讨论】:
在 POSIX 中,您可以使用isatty。
【讨论】:
isatty 检查 tty,不是管道。请改用fstat(STDIN_FILENO, &sb) 并检查S_ISFIFO(sb.st_mode)。
要检查是否有任何“在”标准输入中可以读取的内容,请使用 poll(2),事件掩码为 POLLIN。
【讨论】: