Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

вызов внешней программы из своей с параметрами

3 views
Skip to first unread message

daniil kosenko

unread,
Oct 4, 2007, 2:45:02 PM10/4/07
to
Hi All,

Пишу консольную прогу на чистом Cи.
Нужно сделать вызов внешней программы proga.exe из своей с ключом -s и с
параметром этой программы.
То есть функцией system(). Примерно так:
system("proga.exe -sПАРАМЕТР file.txt "). ПАРАМЕТР записыватся с ключом -s
слитно.
Мне надо этот ПАРАМЕТР менять в цикле (счетчиком). Например счетчик у нас будет
i , а цикл вертится 10 раз. Получается:
system("proga.exe -si file.txt ")

Проблемы:
1) Счетчик сливается с ключом

2) Внутри функции system() счетчик не виден, даже если он ни с чем не
сливается.
Проверил путем вызова system("echo i")
Выводится "echo i" 10 раз вместо вывода
echo 0
echo 1
echo 2
....
echo 10

Как передать значение счетчика в вызов функции?

Bye.
Даниил.

Dmitry Grebeniuk

unread,
Oct 4, 2007, 2:43:18 PM10/4/07
to
hi, daniil

dk> Получается: system("proga.exe -si file.txt ")

dk> Проблемы:
dk> 1) Счетчик сливается с ключом

А почему счетчик именно то i, которое "-si", а не "fi" (.."le.txt")?

bye

daniil kosenko

unread,
Oct 5, 2007, 12:36:09 AM10/5/07
to
//Hi Dmitry, //

DK>> Получается: system("proga.exe -si file.txt ")

DK>> Проблемы:
DK>> 1) Счетчик сливается с ключом

DG> А почему счетчик именно то i, которое "-si", а не "fi" (.."le.txt")?

Ну, имя файла неудачно выбрал. :)
system("proga.exe -si text.txt ")
Так пойдет? :)

Мне в соседней эхе уже посоветовали заюзать sprintf(). Классная штука!

Bye .
Даниил.

Sergey Davydov

unread,
Oct 5, 2007, 3:08:18 AM10/5/07
to
Hello daniil.

04 Oct 07 23:45, you wrote to All:

dk> Получается: system("proga.exe -si file.txt ")
В кавычках стpоковая пеpеменная!
char str[256];
int i;
for(i = 0; i < 10; i++)
{
sprintf(str, "echo %d", i);
system(str);
}

Sergey

0 new messages