В качестве аргументов - переменные! (Функция popen или system.)

Модератор: Модераторы разделов

droncheek
Сообщения: 9
ОС: Mandriva 2009 Spring

В качестве аргументов - переменные!

Сообщение droncheek »

Хочу использовать в функциях popen или system переменные в качестве аргументов. Это возможно?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: В качестве аргументов - переменные!

Сообщение watashiwa_daredeska »

да
Спасибо сказали:
droncheek
Сообщения: 9
ОС: Mandriva 2009 Spring

Re: В качестве аргументов - переменные!

Сообщение droncheek »

Но я ввожу (пишу кратко):

Код: Выделить всё

system("команда per /*это переменная*/");

или

Код: Выделить всё

cmd=popen("команда per /*это переменная*/","r");

Происходит, то что per используется как per, а не как её содержимое.
В чём загвоздка?

per это *char!
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: В качестве аргументов - переменные!

Сообщение NickLion »

Это C/C++? Тогда так нельзя же. Нужно сначала сформировать строку со значением, например таким образом:

Код: Выделить всё

char cmd[...]; // ну, или динамически malloc/new
sprintf(cmd, "команда %s", per); // %s - для строки, %d - целое, в общем man sprintf
system(cmd);
Спасибо сказали:
droncheek
Сообщения: 9
ОС: Mandriva 2009 Spring

Re: В качестве аргументов - переменные!

Сообщение droncheek »

Спасибо! Понял.
Спасибо сказали: