C ++: как использовать аргументы командной строки

Я знаю, что для использования аргументов командной строки, я должен это сделать.

int main(int argc, char* argv[])

Теперь большая часть документации, которую я прочитал о приеме аргументов командной строки, объясняет ситуацию, примерно так:

Аргументы командной строки приводятся после имени программы в
операционные системы командной строки, такие как DOS или Linux, и передаются в
программа из операционной системы.

Таким образом, единственный способ, которым я знаю, чтобы открыть мою программу, это открыть ее как обычно, либо начать отладку, либо открыть exe-файл.

Теперь здесь кажется, что для использования аргументов командной строки программу нужно открыть по-другому, используя командную строку (например, DOS / Command Prompt), а затем запишите аргументы после нее.

Итак, мой вопрос

Как открыть программу с помощью командной строки и как ввести аргументы после имени программы?

4

Решение

Для простоты я предполагаю, что вы используете Windows 7.

Самый простой способ — открыть окно DOS, а затем перетащить в него приложение. Это вставит путь к вашему исполняемому файлу. После этого вы можете начать вводить аргументы командной строки, которые хотите передать. Это должно выглядеть примерно так:

C:\Users\cscott> "C:\Users\cscott\Documents\myApp.exe" argument1 argument2

Примечание. Как уже упоминалось в комментариях, это не работает в Windows Vista, о чем я не знал во время написания статьи.

5

Другие решения

Я предполагаю, что вы используете IDE, и я предполагаю, что это Visual Studio. Если я прав, есть два подхода — один, открыть папку, в которой находится исполняемый файл, который будет создан — по умолчанию он будет находиться в {Каталоге решений} / {Каталоге проектов} / bin / {Build Configuration}. Запустите командную строку там. Другой вариант — открыть свойства проекта и на вкладке «Отладка» (в VS 2010 — зависит от версии) установить флажки командной строки в поле «Аргументы командной строки».

4

Некоторые способы передачи аргументов в программу:

  • Открыть свой командная строка (лайк 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'])

2

В Windows вам нужно перейти с помощью командной строки к месту вашего исполняемого файла, и вы можете запустить его, сказав Myexe.exe first_arg second_arg,

В качестве альтернативы вы можете щелкнуть правой кнопкой мыши по вашему exe-файлу и в настройках файла вы можете указать некоторые аргументы командной строки, чтобы предоставить его при открытии двойным щелчком мыши.

Другой способ также заключается в написании простого пакетного сценария, который просто вызывает вашу программу как C:/Full/Path/To/Your/Program/app.exe first_arg second_arg и запустить это.

В Visual Studio или предпочитаемой вами IDE в настройках проекта будет возможность указать некоторые аргументы командной строки для вашей программы при выполнении изнутри IDE.

1

Вот простой пример, который я использую в Linux

./myprogram args1 args2

и вы можете разобрать это так

int
main (int argc, char **argv)
{
if (argc >= 2) {
std::string param(argv[1]);
}
///etc
}
1
<path of your program> <Arguments separated by space>
0

Вы можете сделать это, открыв командную строку и перейдя по пути к cd, и введите имя exe, а затем свои параметры:

 eg: bob.exe bob dylan

где твой exe — Боб, а два параметра — Боб и Дилан …

…или вы можете сделать ярлык и щелкнуть правой кнопкой мыши, выбрать свойства, ярлык и добавить параметры в конец целевого поля.

"C:\bob.exe" /bob dylan

В вашей IDE может быть опция, в зависимости от того, что это такое.

0

Вы можете написать при запуске из командной строки, вы можете сделать ярлык и добавить аргументы после имени, вы можете добавить аргументы в некоторые IDE при отладке или вы можете вызвать вашу программу с другой программой, используя некоторые аргументы.

0