Замена символа в строке [дубликат]
Возможный дубликат:
Что такое функция для замены строки в 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". Похоже, что он просто перезаписывает последние два буквы "с". Есть ли какой-нибудь способ, которым я хотел бы, чтобы эти последние пару не перезаписывались?