LINUX.ORG.RU

выполнение команд линукса в си.

 , , ,


0

1

Почёсывая репу и доставая запросами гугл, на тему $сабжа, вывел вот нижеследующий (работающий, что важно для меня) код:

char buf[256];
sprintf(buf, "/bin/ls -la ");
system(buf);
Что здесь лишнее и почему ?
Прошу сильно не пинать, делаю первые шаги, пока только калькулятор освоил.


В данном конкретном коде лишнее — строка и sprintf. Что мешает написать system(«/bin/ls -la»). Полный путь к ls — это так задумано?

А вообще, такие вещи как system стоит использовать как можно реже.

buddhist ☕☕☕☕
()

Зачем буфер sprintf-ом заполняеш? Можно через char * buf = "..." или напраямую строку передавать.

Knopka
()
Ответ на: комментарий от buddhist

Полный путь к ls — это так задумано?

ну я подумал что без него (пути) никак.

Что мешает написать system(«/bin/ls -la»).

необразованность =)

dada
() автор топика
Ответ на: комментарий от qulinxao

[code] int main(void){ return system(«/bin/ls -la»); } [/code] спасибо, а я сидел и парился, зачем тама buf.

dada
() автор топика
Ответ на: комментарий от qulinxao

эксперемент(онли) и ведёт к неследованию стандартам и деградации протоколов

Значит, русский язык ты учил экспериментально.

anonymous
()
Ответ на: комментарий от anonymous

увага русский язык большее время своего существования был устным.

русский язык появился без постановления комитета по языку.

зачем смешивать естественный яз и протокол управление железкой?

qulinxao
()
Ответ на: комментарий от buddhist

ещё вопрос. помоги с операторами для работы с текстом. какие использовать ?
а если конкретнее, то мне нужно подсчитать количество пробелов или определённых букв в строке.
Только готовый код не надо давать, ведь самообразования ради спрашиваю.
Заранее спасибо, знаю, надоел глупыми вопросами.

dada
() автор топика
Ответ на: комментарий от dada

это уже пояснили.

не то пояснили. гугли sprintf VS snprintf. учись изначально писать безопасный код.

exception13
()
Ответ на: комментарий от dada

Мне что-то вроде awk-a надобно
awk -F, '{r += NF-1;} END {print «Text contains », r, " commas"}'

kim-roader
()
Ответ на: комментарий от dada

Может быть лучше будет почитать Кернигана и Ричи?

Yareg
()

Возвращайся к букварю

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.