Windows equivalent to "/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?
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.
The equivalent pseudo files on Windows are conIN$
and conOUT$
.
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)
精彩评论