LINUX.ORG.RU

Правильный(???) стиль работы со строковыми данными на С

 ,


2

4

Иногда (прямо сейчас) приходится обрабатыавть строки на C.
Меня коробит от громоздкости операций выделения памяти, конкатенации и самое главное это snprintf с проблемой размера буфера под конечную строку, гигантское поле для выращивания вских мемориликов по невнимательности.

К примеру, размеры mult1_str, mult2_str и equal_str известны, нужно выделить память под всю строку:

snprintf(
    buf,
    buflen,
    "%s miltilple %s equals %s",
    mult1_str,
    mult2_str,
    equal_str
    );
варианты:
- махнуть шашкой и сделать килобайт на стеке ( ((( )
- ничем не размахивать и посчитать руками. (еще хуже)
- написать функцию которая будет вычислять длину «%s miltilple %s equals %s» без символов подстановки (уже лучше)
- отказаться от snprintf и собирать строку пачкой конкатенаций с аллокациями памяти и прочим...

А как делаешь ты?


Ответ на: комментарий от byko3y

просто популярен среди продвинутых аутистов

Эмм, если обвиняешь в том что я делаю детский сад, будь добр не устраивай его сам, а то выглядит как наглое лицемерие. И с чего ты взял что кто-то из нас карьерист? Не наговаривай.

А сраться по поводу С vs C++ мы с ним начали ещё до этого треда, так что ты просто не в курсе контекста :D

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Под детским садом я имел в виду, что за вас решение принимает «папа». И это сильно режет мне глаз. Если тебя смутило определение «продвинутый аутист» - я сам себя причисляю к подобным.

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

Ну если про работу говорить, то не всегда но часто за выбор технологий отвечает инженер, не всегда есть возможность взять то что хочешь. И да, на работе могут принимать решение чем работать за тебя. Даже если ты ультраинициативный

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

А сраться по поводу С vs C++ мы с ним начали ещё до этого треда

О каком сраче может идти речь, если вы даже не программист.

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

Это мне может мешать? Ты вот не писатель (вероятно), но пишешь текст. Для того что бы обсуждать что-то не обязательно иметь для этого призвание или специальность. Также можно о готовке мяса спорить и не быть поваром.

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

Это мне может мешать?

Да. Вы не разбираетесь в предмете, но мнение имеете.

Также можно о готовке мяса спорить и не быть поваром.

Если спорите не с поваром - то пожалуйста.

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

Если спорите не с поваром - то пожалуйста.

Спасибо, только вот повар не делает правильно, правильного способа готовки мяса не существует в принципе и спорить с ним можно, ты понял суть то?

Да. Вы не разбираетесь в предмете, но мнение имеете.

Странная логика, я предметом пользуюсь, часто и активно и имею вполне себе конкретное мнение. Вот то что уровень не высок, это да. Но, смотря с какой колокольни смотреть. Тоже самое можно сказать про тебя. Так что всё нормально.

Думать о разном, заниматься разным и для всего иметь «свой» взгляд и мысли это нормально. Если для тебя это не так то ты странный.

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

Вот то что уровень не высок, это да.

Вот это «да». Человек не написал ничего сложнее хелоуворлда, но рассуждает о высоких материях.

только вот повар не делает правильно, правильного способа готовки мяса не существует в принципе

Человек, бросающий сырое мясо в костёр и обсуждающий кулинарное искусство с поваром - это вы. PS: повар в шоке.

Если для тебя это не так то ты странный.

Я, но не ты. Логика / 0.

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

Вот это «да». Человек не написал ничего сложнее хелоуворлда, но рассуждает о высоких материях.

Ну, я хотя бы не фантазирую. А вот о высоких материях даже намёка не было.

Человек, бросающий сырое мясо в костёр и обсуждающий кулинарное искусство с поваром - это вы

Лучший способ, улететь в космос крайностей. Круто чё. Мммм, а ты нарцисс, как был так и остался. Расчёску для ЧСВ пора менять :D

Я, но не ты.

Естественно, мы все разные.

я

Думать о разном, заниматься разным и для всего иметь «свой» взгляд и мысли это нормально

ты

Логика / 0.

Оооооок, вопросов нет. Интересно было поболтать, до свидания. Топ-топ-топ-топ….

P.S.: Будь подобрее, может ты там и умный, но злой как я не знаю что.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.