c++ - 有没有办法检查外部数据是否通过管道传输到程序或程序是否自行运行?

标签 c++ windows console

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

dir /b /s *.* | myprogram

myprogram

在第二种情况下,程序将等待用户输入。有什么办法可以防止这种情况发生吗?

最佳答案

POSIX 有 isatty(),而 Visual C++ 有 _isatty(),如果文件描述符是终端或命令行,它们都将返回 true,例如isatty(fileno(stdin))

关于c++ - 有没有办法检查外部数据是否通过管道传输到程序或程序是否自行运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574797/

相关文章:

c++ - 在 linux 中,如何判断我是链接到静态库还是动态库?

c++ - 线程间共享变量的声明

c# - VS 如何编译控制台应用程序以显示 "Press any key to continue"?

C++ 宏 '##' 在 '->' 运算符后不起作用

python - 从源代码构建 Python 为 64 位

c - Windows 操作系统中命名信号量的位置是什么

windows - 有没有办法将 Git 集成到 Windows cmd 或 PowerShell 中?

c# - 在 '/u263a' 上使用 WriteConsoleOutput 总是打印不正确

c++ - 如何在 Visual Studio 2017 中创建 Visual C++ MFC 控制台项目

c++ - 此代码代表哪个发行版?