Tie*_*eme 2 c++ iostream io-redirection
考虑我们有一个小程序,需要一些标准的C输入.
我想知道用户是否正在使用输入重定向,例如:
./programm < in.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法在程序中检测这种输入重定向方式?
没有可移植的方法可以做到这一点,因为C++没有说明cin来自哪里.在Posix系统上,您可以测试是否cin来自终端或使用重定向isatty,如下所示:
#include <unistd.h>
if (isatty(STDIN_FILENO)) {
// not redirected
} else {
// redirected
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |