Цитата(zltigo @ Jul 23 2010, 09:18)

Писать свои функции. Можно по мотивам библиотечных.
+1
Столкнулся с подобной проблемой когда из-за излишнего применения const было съедено много оперативки для константных строк.
По аналогии с библиотечной strstr написал свою ф-ию для поиска подстроки в строке с различными комбинациями типов строк ((sram, sram), (sram, flash), (sram, eeprom)) - пользуюсь уже в 4м проекте.
Код
/***************************************************************************/
//поиск подстроки в строке с ограничением по длине поиска
signed int my_strstr(unsigned char *pData, unsigned char __flash *pComp, unsigned int len)
{
signed int result=-1;
for( unsigned int i=0; i<len; i++)
{
result=1;
for( unsigned int j=0; *(pComp+j); j++)
{
if( ( *(pData+i+j) != *(pComp+j)) || ( !*(pComp+j)) )
{
result=-1;
break;
}
}
if(result == 1)
{
return i; //возвращаем позицию начала подстроки в строке
}
}
return -1;
}
/******************************************************************/