C ++是否是文件描述符并且可以使用dup()复制?我想复制标准输入,以便使用shell中的重定向来使用一个标准输入,一个是从文件中获取所有输入后的常规输入。
答案 0 :(得分:3)
没有
std :: cin是input stream。这是一个C ++概念,可能在幕后使用(部分)文件句柄实现。但是,您有权访问的是流对象及其成员。
答案 1 :(得分:3)
std::cin
绑定到标准输入文件描述符,在POSIX世界中,它被定义为STDIN_FILENO
,其值通常为0. std::cin
只是一个特殊的std::istream
到从该描述符中读取。您可以使用dup
复制它 - 没问题,您根本不必使用std::cin
。
答案 2 :(得分:0)
您无需复制流,只需创建fstream
并阅读数据需求。