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)
abbra: (Default)

[personal profile] abbra 2012-04-22 07:11 pm (UTC)(link)
Нет :)
Однако там довольно много важных замечаний о свойствах и поведении алгоритмов в условиях различной стоимости доступа к данным и коду, по крайней мере во втором издании (2011 года).