编写一个函数实现在源字符串中查找目标字符串,并进行替换。如输入源字符串“We love math!”,查找目标字符 串“math”,并将其替换为字符串“C Program”,在主函数中输出替换后的字符串“We love C Program!”.
时间: 2024-01-21 16:04:48 浏览: 62
好的,可以使用C语言中的字符串函数来实现这个功能。下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void replace_str(char *src, char *target, char *replace)
{
int len1 = strlen(target);
int len2 = strlen(replace);
char *pos = src;
while ((pos = strstr(pos, target)) != NULL) {
memmove(pos + len2, pos + len1, strlen(pos + len1) + 1);
memcpy(pos, replace, len2);
pos += len2;
}
}
int main()
{
char str[] = "We love math!";
char target[] = "math";
char replace[] = "C Program";
replace_str(str, target, replace);
printf("%s\n", str);
return 0;
}
```
在主函数中,我们定义了源字符串 `str`,目标字符串 `target` 和替换字符串 `replace`。然后调用 `replace_str()` 函数来进行替换。该函数使用了 `strstr()` 函数来查找目标字符串在源字符串中的位置,并使用了 `memmove()` 和 `memcpy()` 函数来进行替换。最后在主函数中输出替换后的字符串。
输出结果为:
```
We love C Program!
```
阅读全文