str_replace для C

Категория: C / C++ Комментариев: 2

В PHP есть очень хорошая функция str_replace, заменяющая в строке одну подстроку в другой. Чистый C (да и C++) такой функцией похвастать не может.
Вот самопальный аналог str_replace для C.

char *str_replace(char *orig, char *rep, char *str)
{
 static char buffer[4096];
 char *p;
 if(! (p = strstr(str, orig)))
 return str;
 strncpy(buffer, str, p - str);
 buffer[p - str] = '\0';
 sprintf(buffer + (p - str), "%s%s", rep, p + strlen(orig));
 return buffer;
}

Использовать также, как и в PHP:

str = str_replace("substring", "replacement", str);
Автор: Кто-то   @   4 марта 2010 Комментариев: 2
Метки : ,

Поблагодарить автора

Webmoney Z163628999150, R617151845974

Комментариев: 2

Комментарии
Дек 29, 2010
13:19
#1 Hakujin :

Функция работает, только замените в параметрах «sub» на «orig», а то видимо автор переименовал переменную и забыл. :lol:

Автор Янв 2, 2011
17:52

Спасибо за подсказку! Исправил.

оставить комментарий

Предыдущая запись
«
Следующая запись
»