Итак, у меня есть исполняемый файл, который я запускаю в cmd с одним аргументом. Когда я запускаю его, эта программа будет запрашивать ввод много раз. Я хочу записать все входные данные в аргумент, поэтому я не буду постоянно нажимать ввод для каждого ввода. Как это сделать?
Например, моя программа называется program.exe с одним аргументом, и после ее запуска она попросит меня ввести «y» или «n», поэтому мне нужно только ввести:
program.exe <argument> y
затем нажмите Enter, чтобы запустить его. Могу я? Если не могу, то как сделать аналогично?
P.S. Исходным кодом программы является сценарий C, а для ввода используется scanf
. Я не могу изменить исходный код.
это поможет? stackoverflow.com/questions/4871620 / — person fahadh4ilyas schedule 06.09.2017
@A.Joly Это не сработало — person fahadh4ilyas schedule 06.09.2017
Вы можете поместить все свои входные данные в файл, скажем,
inputs.txt
, а затем запустить его таким образомprogram.exe<inputs.txt
.Обратите внимание, что вы должны разделять ввод пробелом или новой строкой. Кроме того, входные данные, переданные здесь, не совпадают с входными данными, которые вы получите с переменной вектора аргумента (char** argv). Эти входные данные скорее передаются при вызовах консольного ввода, будь то scanf или cin (в случае, если это С++)
Если в моей программе есть реальный аргумент, должен ли я поместить его в этот текстовый файл или написать как аргумент? — person fahadh4ilyas; 06.09.2017
аргументы — это все значения, которые вы вводите в командной строке перед запуском приложения, поэтому
program.exe y something
имеет 3 аргумента. — person fahadh4ilyas; 06.09.2017