URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10120
[ Назад ]

Исходное сообщение
"си system и переменные"

Отправлено dcc0 , 17-Сен-16 10:32 
Я, наверное, надоел уже вам тут.
У меня еще два вопроса.
Верно ли я понимаю, что в Си при вызове system невозможно передать переменную?
Нашёл такой фокус со sprintf, но, как я понял, - это уже функция с++.

Второй вопрос: в php system возвращает  результат работы и с этим результатом возможно работать как с переменной.
Я так понимаю, что такой фокус не пройдет в Си.
Или я ошибаюсь?
Благодарен вам заранее за выдержку и терпение, отсутствие ехидства над новичком.


Содержание

Сообщения в этом обсуждении
"си system и переменные"
Отправлено Павел Самсонов , 17-Сен-16 11:10 
>[оверквотинг удален]
> У меня еще два вопроса.
> Верно ли я понимаю, что в Си при вызове system невозможно передать
> переменную?
> Нашёл такой фокус со sprintf, но, как я понял, - это уже
> функция с++.
> Второй вопрос: в php system возвращает  результат работы и с этим
> результатом возможно работать как с переменной.
> Я так понимаю, что такой фокус не пройдет в Си.
>  Или я ошибаюсь?
> Благодарен вам заранее за выдержку и терпение, отсутствие ехидства над новичком.

Вы можете установить переменную окружения man setenv
И считать в вызванной программе через man getenv


"си system и переменные"
Отправлено dcc0 , 17-Сен-16 11:20 
>[оверквотинг удален]
>> переменную?
>> Нашёл такой фокус со sprintf, но, как я понял, - это уже
>> функция с++.
>> Второй вопрос: в php system возвращает  результат работы и с этим
>> результатом возможно работать как с переменной.
>> Я так понимаю, что такой фокус не пройдет в Си.
>>  Или я ошибаюсь?
>> Благодарен вам заранее за выдержку и терпение, отсутствие ехидства над новичком.
> Вы можете установить переменную окружения man setenv
> И считать в вызванной программе через man getenv

Благодарю


"си system и переменные"
Отправлено fail_ , 17-Сен-16 14:25 
...
> Второй вопрос: в php system возвращает  результат работы и с этим
> результатом возможно работать как с переменной.
> Я так понимаю, что такой фокус не пройдет в Си.
>  Или я ошибаюсь?
> Благодарен вам заранее за выдержку и терпение, отсутствие ехидства над новичком.

масштабнее, полезнее и по времени не так уж много займет - повозиться с fork() + execv(), вместо system()


"си system и переменные"
Отправлено f2404 , 17-Сен-16 17:49 
sprintf - функция библиотеки С, вовсе не С++.



"си system и переменные"
Отправлено dcc0 , 17-Сен-16 19:20 
> sprintf - функция библиотеки С, вовсе не С++.

Извиняюсь, бью челом оземь, да, точно Си.
  Не могу найти сейчас то сообщение, но смысл был примерно такой:

sprintf(str, "%s %d %s", "program.exe", i, c);  
system(str);  

Сейчас проверил, действительно работает. Правда, качество данной практики пока не очень могу оценить.  
И извиняюсь за большое кол-во сообщений.


"си system и переменные"
Отправлено PavelR , 18-Сен-16 07:31 
> И извиняюсь за большое кол-во сообщений.

Да ладно тебе, учишься же. Просто в гугле можно всё это же найти гораздо быстрее + можно посмотреть в куче других проектов, как это сделано у них - куча всего написано именно на С, в т.ч. и тот же PHP, так что смотреть есть где.