QUOTE (svss @ Aug 18 2011, 11:45)

Маленькие дырки в безопасности кода заставляют думать.
Автор статьи и автор темы - двое из них. Чего ж плохого?
Плохое именно то, что статья совершенно БЕЗДУМНАЯ, когда взят один из аспектов проблемы и бездумно ОТБРОШЕНЫ все остальные. Ах, как хорошо знать длину строки сразу, ах, как это-бы помогло может быть иногда чего-то улучшить, ах это слово "безопасность", ах..... Если ах, то кто кому мешает создавать свои ЛЮБЫЕ представления текстовых строк? Си в этом совершенно демократичен - да он вообще практически ничего о строках не знает, кроме, пожалуй встроенного типа указателя на одно из возможных представлений строки. Все строки в библиотеках - хочешь пользуй, хочешь пиши свои "правильные". Хочешь указатель содержащий размер - да какие проблемы? Опиши и пользуй, пока не надоест. Отцы основатели НЕ запрещают. В чем ошибка и вина Авторов языка? Если кому-то нужно массово и БЕЗДУМНО работать со строками, то зачем для этого вообще Си использовать? Для работы со строками и текстами предназначены другие языки. Вот я прямо сегодня писал на языке достаточно заточенном под обработку строк:
CODE
if( Val( ErrLine, Remove_Space( Get_Word( ":" ) ) ) == 0 )
{
++g_compiler_err_cnt;
Return_Str = Find_Error( "/NL=0/F=" + FName + "/L=" + Str(ErrLine) );
}
Ни тебе strlen() ни прочих strcat() со товарищи....