Показать сообщение отдельно

  #7  
Старый 25.04.2009, 16:31
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Юзай поиск в инете
Для ленивых вот:
Код:
// Функция заменяет в строке Src подстроку Str1 на Str2

char* Replace(char* Src,char* Str1, char* Str2) 
{
    int        cStr1=0,cStr2=0,i;
    char*    buffer;
    buffer = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,lstrlen(Src)*2);
    while (Str1[cStr1]) cStr1++; // считаем размер
    while (Str2[cStr2]) cStr2++; // строк, можно и через lstrlen
    i = InStr(&Src[0],&Str1[0]);
    while(i != 0)
    {
        lstrcpyn(&buffer[lstrlen(buffer)],&Src[0],i);
        lstrcat(&buffer[0],&Str2[0]);
        lstrcpy(&Src[0],&Src[i+cStr1-1]);
        i = InStr(&Src[0],&Str1[0]);
    }
    lstrcat(&buffer[0],&Src[0]);
    lstrcpy(&Src[0],&buffer[0]);
    HeapFree(GetProcessHeap(),HEAP_NO_SERIALIZE,buffer);
    return Src;
}
 
Ответить с цитированием