Я знаю, что для использования аргументов командной строки, я должен это сделать.
int main(int argc, char* argv[])
Теперь большая часть документации, которую я прочитал о приеме аргументов командной строки, объясняет ситуацию, примерно так:
Аргументы командной строки приводятся после имени программы в
операционные системы командной строки, такие как DOS или Linux, и передаются в
программа из операционной системы.
Таким образом, единственный способ, которым я знаю, чтобы открыть мою программу, это открыть ее как обычно, либо начать отладку, либо открыть exe-файл.
Теперь здесь кажется, что для использования аргументов командной строки программу нужно открыть по-другому, используя командную строку (например, DOS / Command Prompt), а затем запишите аргументы после нее.
Итак, мой вопрос
Как открыть программу с помощью командной строки и как ввести аргументы после имени программы?
Для простоты я предполагаю, что вы используете Windows 7.
Самый простой способ — открыть окно DOS, а затем перетащить в него приложение. Это вставит путь к вашему исполняемому файлу. После этого вы можете начать вводить аргументы командной строки, которые хотите передать. Это должно выглядеть примерно так:
C:\Users\cscott> "C:\Users\cscott\Documents\myApp.exe" argument1 argument2
Примечание. Как уже упоминалось в комментариях, это не работает в Windows Vista, о чем я не знал во время написания статьи.
Я предполагаю, что вы используете IDE, и я предполагаю, что это Visual Studio. Если я прав, есть два подхода — один, открыть папку, в которой находится исполняемый файл, который будет создан — по умолчанию он будет находиться в {Каталоге решений} / {Каталоге проектов} / bin / {Build Configuration}. Запустите командную строку там. Другой вариант — открыть свойства проекта и на вкладке «Отладка» (в VS 2010 — зависит от версии) установить флажки командной строки в поле «Аргументы командной строки».
Некоторые способы передачи аргументов в программу:
Открыть свой командная строка (лайк cmd.exe
или PowerShell в Windows), затем введите:
your_program.exe arg1 arg2 arg3
,
Вы можете сделать то же самое в ярлыке или скрипте (например, в пакетном или sh скрипте).
Отредактируйте конфигурацию запуска в вашей IDE.
Например, Eclipse позволяет вам устанавливать аргументы командной строки отдельно для каждой конфигурации запуска. Это полезно во время разработки и отладки.
В Windows перетащите файл на исполняемый файл. Имя файла перетаскиваемого файла будет передано в качестве аргумента командной строки.
В Windows связать расширение имени файла с типом файла (assoc
команда) и связать этот тип файла с командой, которая запускает вашу программу (ftype
команда). Теперь, когда такой файл открыт, либо в интерпретаторе команд, либо, например, Двойной щелчок, что происходит за сценой, заключается в том, что ваша программа запускается с путем к этому файлу в качестве аргумента.
Запустите ваш исполняемый файл программно из другой программы и передайте аргументы как переменные.
Например, в Python:
subprocess.call(['my_program.exe','arg1','arg2'])
В Windows вам нужно перейти с помощью командной строки к месту вашего исполняемого файла, и вы можете запустить его, сказав Myexe.exe first_arg second_arg
,
В качестве альтернативы вы можете щелкнуть правой кнопкой мыши по вашему exe-файлу и в настройках файла вы можете указать некоторые аргументы командной строки, чтобы предоставить его при открытии двойным щелчком мыши.
Другой способ также заключается в написании простого пакетного сценария, который просто вызывает вашу программу как C:/Full/Path/To/Your/Program/app.exe first_arg second_arg
и запустить это.
В Visual Studio или предпочитаемой вами IDE в настройках проекта будет возможность указать некоторые аргументы командной строки для вашей программы при выполнении изнутри IDE.
Вот простой пример, который я использую в Linux
./myprogram args1 args2
и вы можете разобрать это так
int
main (int argc, char **argv)
{
if (argc >= 2) {
std::string param(argv[1]);
}
///etc
}
<path of your program> <Arguments separated by space>
Вы можете сделать это, открыв командную строку и перейдя по пути к cd, и введите имя exe, а затем свои параметры:
eg: bob.exe bob dylan
где твой exe — Боб, а два параметра — Боб и Дилан …
…или вы можете сделать ярлык и щелкнуть правой кнопкой мыши, выбрать свойства, ярлык и добавить параметры в конец целевого поля.
"C:\bob.exe" /bob dylan
В вашей IDE может быть опция, в зависимости от того, что это такое.
Вы можете написать при запуске из командной строки, вы можете сделать ярлык и добавить аргументы после имени, вы можете добавить аргументы в некоторые IDE при отладке или вы можете вызвать вашу программу с другой программой, используя некоторые аргументы.