Как указать конец ввода в командном файле - PullRequest
0 голосов
/ 17 декабря 2010

У меня есть программа x.exe, которая ждет ввода от пользователя и читает до конца файла. Я хочу вызвать его из командного файла.

x.exe My Text Goes Here and goes and goes and goes and how to say it ends?

Когда я запускаю его, кажется, что x.exe запущен, он уже использовал строку, которую я ему дал, но все еще ожидает ввода. Как указать символ EOF в командном файле?

Когда я запускаю его из консоли, я нажимаю Ctrl + Z, чтобы указать eof. Как мне сделать то же самое с файлом bat? Спасибо.

1 Ответ

2 голосов
/ 17 декабря 2010
echo "My Text Goes Here and goes and goes and goes and how to say it ends?" | x.exe

То, как вы это делаете сейчас, на самом деле не отправляет текст вашей программе в качестве входных данных, он передает их в качестве аргументов командной строки (массив строк, который передается вашей основной функции - это char* argv[] (длина argc элементов).

Используйте echo, чтобы распечатать его на стандартном выходе, а затем используйте канал, чтобы подключить стандартный вывод echo к стандартному входу вашей программы.

...