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] theiced.livejournal.com 2012-04-22 04:35 pm (UTC)(link)
а например память оно зачем будет ТАК жратъ?

[identity profile] lionet.livejournal.com 2012-04-22 04:47 pm (UTC)(link)
А какая нафиг разница, это же не парсинг гигабайтного XML'я. Оптимизация на спичках. На такой основополагающей мелочи, как ковыряние строк, главное – производительность программиста, а не программы.

[identity profile] slonik-v-domene.livejournal.com 2012-04-22 09:11 pm (UTC)(link)
На такой основополагающей мелочи надо прежде всего смотреть условия задачи. А не рассказывать про мифическую производительность программиста, да.

[identity profile] lionet.livejournal.com 2012-04-22 09:27 pm (UTC)(link)
Условия задачи уже известны, да.