Windows эквивалентна "/dev/stdin"?
У меня есть код Python, говорящий с библиотекой С++, которая принимает только имена файлов. Я хочу, чтобы он читал от stdin. На машинах Unix я могу использовать "/dev/stdin". Я думал, что могу использовать специальное устройство "CON" в Windows, но это больше похоже на /dev/tty в том, что "echo something | my_program" не работает.
Поддержка труб под Windows не важна, но теперь мне любопытно. Есть ли что-то вроде имени файла /dev/stdin для этой ОС?
Ответы
Ответ 1
Насколько я знаю, нет эквивалента /dev/stdin. Однако, если вам действительно нужно, вы можете создать свой собственный именованный канал (CreateNamedPipe) и передать имя в библиотеку С++, используя отдельный поток для подачи ввода от stdin в именованный канал.
Ответ 2
Эквивалентные псевдофайлы в Windows: conIN$
и conOUT$
.
Ответ 3
Я могу неправильно истолковать ваш вопрос - вы знаете о cin и stdin, верно? Если вам нужен реальный обработчик winapi для ReadFile или что-то еще, используйте GetStdHandle (STD_INPUT_HANDLE)