可能是重复的问题:
C语言中替换字符串的函数是什么?
我想要将字符串中的某个字符替换为多个字符。以下是一个示例:
假设我有一个字符串 "aaabaa"
我想要用5个字符 "c" 替换所有出现的字符 "b".
所以当我完成时,"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"。看起来它只是用c覆盖了最后两个a。有没有办法让最后几个a不被覆盖?
memmove()
函数。 - Agnius Vasiliauskas