Windows 相当于“/dev/stdin”?

发布于 2024-12-04 09:07:50 字数 228 浏览 0 评论 0原文

我有与 C++ 库对话的 Python 代码,该库只接受文件名。我希望它从标准输入读取。在 Unix 机器上我可以使用“/dev/stdin”。我以为我可以在 Windows 上使用特殊的“CON”设备,但这更像是 /dev/tty,因为“echo Something | my_program”不起作用。

在 Windows 下支持管道并不是必需的,但现在我很好奇。该操作系统是否有类似文件名“/dev/stdin”的内容?

I have Python code talking to a C++ library which only takes filenames. I want it to read from stdin. On Unix machines I can use "/dev/stdin". I thought I could use the special "CON" device on Windows, but that's more like /dev/tty in that "echo something | my_program" does not work.

Supporting pipes under Windows isn't essential, but now I'm curious. Is there something like the filename "/dev/stdin" for that OS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十级心震 2024-12-11 09:07:50

据我所知,没有与 /dev/stdin 等效的东西。但是,如果您确实需要,可以创建自己的命名管道 (CreateNamedPipe) 并将名称传递给 C++ 库,使用单独的线程将输入从 stdin 馈送到命名管道中。

To the best of my knowledge there is no equivalent of /dev/stdin. However, if you really needed to you could create your own named pipe (CreateNamedPipe) and pass the name to the C++ library, using a separate thread to feed the input from stdin into the named pipe.

纵情客 2024-12-11 09:07:50

Windows 上的等效伪文件是 conIN$conOUT$

The equivalent pseudo files on Windows are conIN$ and conOUT$.

吖咩 2024-12-11 09:07:50

我可能误解了你的问题 - 你知道 cin 和 stdin,对吧?如果您需要 ReadFile 或其他内容的实时 winapi 句柄,请使用 GetStdHandle(STD_INPUT_HANDLE)

I may be misinterpreting your question - you know about cin and stdin, right? If you need a real live winapi handle for ReadFile or whatever, use GetStdHandle(STD_INPUT_HANDLE)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文