我有Python代码与C ++库交谈,它只接受文件名。我希望它从stdin读取。在Unix机器上我可以使用“/ dev / stdin”。我以为我可以在Windows上使用特殊的“CON”设备,但更像是/ dev / tty,因为“echo something | my_program”不起作用。
在Windows下支持管道并不重要,但现在我很好奇。那个操作系统的文件名是“/ dev / stdin”吗?
答案 0 :(得分:2)
据我所知,没有等效的/ dev / stdin。但是,如果您确实需要,可以创建自己的命名管道(CreateNamedPipe)并将名称传递给C ++库,使用单独的线程将stdin的输入提供给命名管道。
答案 1 :(得分:2)
Windows上的等效伪文件是conIN$
和conOUT$
。
答案 2 :(得分:1)
我可能会误解你的问题 - 你知道cin和stdin,对吧?如果您需要ReadFile或其他任何实际的winapi句柄,请使用GetStdHandle(STD_INPUT_HANDLE)