Замена символа в строке [дубликат]

Возможный дубликат:
Что такое функция для замены строки в C?

Я пытаюсь заменить определенный символ в моей строке несколькими символами. Вот пример того, что я пытаюсь сделать.

Скажем, у меня есть строка "ааабаа"

Я хочу заменить все вхождения символа "b" на 5 "c" s.

Поэтому, когда я закончу, «aaabaa» становится «aaacccccaa»

Я написал следующий код:

#include <stdio.h>
#include <string.h>
int main(void)
{
    char s[20] = "aaabaa";
    int i, j;
    for (i=0; s[i]!= '\0'; i++)
    {
        if (s[i] == 'b')
        {
            for (j=0; j<5; j++)
            {
                s[i+j] = 'c';
            }
        }
    }
    printf("%s\n", s);
}

Мой вывод из этой функции "aaaccccc". Похоже, что он просто перезаписывает последние два буквы "с". Есть ли какой-нибудь способ, которым я хотел бы, чтобы эти последние пару не перезаписывались?

Ответы на вопрос(7)

Ваш ответ на вопрос