Можно ли передать входные аргументы в исполняемый файл в командной строке - PullRequest
0 голосов
/ 17 января 2020

Допустим, у меня есть этот код на C ++, который я скомпилировал в исполняемый файл out.exe

int main(){   
   int a = 0;  
   cin>>a;

   if (a)    
      cout<<"done";  

   return 0;  
}

Обычно я выполняю его с помощью командной строки, набирая его имя, затем он ждет моего ввода.

Тем не менее, я хочу, чтобы он передавал входные данные в той же строке, что и вызываемый исполняемый файл, примерно так:

out.exe 1

1 - это ввод, поэтому программа не будет ждать мой вход и прямой выход:

done

1 Ответ

3 голосов
/ 17 января 2020

Вы можете использовать int main(int argc, char **argv) аргументы командной строки **argv и счетчик аргументов argc искать в Что означает int arg c, char * argv []? .

Аргументы считываются как строки, но вы можете легко преобразовать их в нужный вам тип, в данном случае int. Как я могу преобразовать std :: string в int?

...