metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-22 06:05 pm

C, parse comma-separated line

Кошерен ли такой код для разбиения строки, разделенной запятыми на отдельные строки: http://ideone.com/rhNXq ?

PS: strtok не признаю по идеологическим причинам - она меняет анализируемую строку, что меня крайне пугает, хотя в моем конкретном случае это не мешает.

PPS: безотносительно к strtok, в функции было минимум две ошибки - отсутствие проверки на выход за пределы буфера и попадание eol в последнюю строку (девайсина, с которой приходит строка, терминирует ее \r)

[identity profile] metaclass.livejournal.com 2012-04-22 06:41 pm (UTC)(link)
Не вырастет. Вот если на каждый случай выбирать из 100500 готовых либ - вырастет. А так я свой парсер наговнял, понадобится что-то более сложное - буду изучать готовое.

[identity profile] artureg.livejournal.com 2012-04-22 06:43 pm (UTC)(link)
сплит обязан быть из коробки в любом нормальном языке

[identity profile] metaclass.livejournal.com 2012-04-22 06:52 pm (UTC)(link)
strtok, strsep, strspn, strcspn, strpbrk есть :)

[identity profile] berezovsky.livejournal.com 2012-04-22 07:41 pm (UTC)(link)
мало гласных для мунспика же

[identity profile] artureg.livejournal.com 2012-04-22 07:42 pm (UTC)(link)
в любом случае к использоваию малопригодно