Possible Duplicate:
Detect if stdin is a terminal or pipe in C/C++/Qt?
我正在编写一个命令行应用程序,它需要数据作为命令行参数或来自 cin。
有没有办法检查用户是否在应用程序中通过管道传输了某些数据($ ./myapp < test.txt),如果没有则仅显示键盘输入提示?
如果我检查 !cin.good()/cin.eof() 等,则永远不会出现提示。
最佳答案
isatty(STDIN_FILENO)
将返回标准输入是否是终端(tty),即交互式。
关于c++ - 期待来自 std::cin (Unix C++) 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203704/