Как передать аргумент из программы на C ++ в cmd? - PullRequest
1 голос
/ 25 февраля 2012

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

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

system("SayStatic.exe hello world");

но это то, что мне нужно:

char item[100];
gets(item);
//after getting the input I need to pass it to SayStatic.exe that is the part I dont know

Я знаю, что не могу использовать sysytem (); для этого, но другие, как spawnl () или execl () будет работать?

1 Ответ

3 голосов
/ 25 февраля 2012

Во-первых, никогда не используйте gets().Он никогда не должен был быть включен в стандартную библиотеку, так как ввод, который длиннее строки, перезапишет стековую память и вызовет неопределенное поведение (возможно, какой-то сбой)fgets() является приемлемой заменой, если вы используете строки C.

Вы можете сделать это, используя строки C ++, например:

std::string line;
std::getline(std::cin, line);
system(("SayStatic.exe " + line).c_str());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...