C语言编码实现并注释:(1)从键盘输入源字符串;(2)从键盘输入目标字符串和替换的字符串; (3)调用函数实现查找源字符串中的目标字符串,并进行替换; (4)输出完成查找和替换后的字符串。
时间: 2024-03-03 11:47:43 浏览: 21
请看下面的代码:
```c
#include <stdio.h>
#include <string.h>
void replace_str(char *source, char *target, char *replace)
{
int len_source = strlen(source); // 获取源字符串长度
int len_target = strlen(target); // 获取目标字符串长度
int len_replace = strlen(replace); // 获取替换字符串长度
// 初始化指针
char *p = source;
char *q = source;
char *tmp = NULL;
// 循环查找目标字符串
while ((q = strstr(p, target)) != NULL) {
// 将目标字符串替换为替换字符串
tmp = (char *)malloc(sizeof(char) * (len_source + len_replace - len_target + 1));
strncpy(tmp, p, q - p);
tmp[q - p] = '\0';
strcat(tmp, replace);
strcat(tmp, q + len_target);
strcpy(p, tmp);
free(tmp);
// 指针后移
p = p + strlen(replace);
}
}
int main()
{
char source[100], target[20], replace[20];
printf("请输入源字符串:");
scanf("%s", source);
printf("请输入目标字符串:");
scanf("%s", target);
printf("请输入替换字符串:");
scanf("%s", replace);
replace_str(source, target, replace);
printf("替换后的字符串为:%s", source);
return 0;
}
```
这段代码实现了从键盘输入源字符串、目标字符串和替换字符串,查找源字符串中的目标字符串并进行替换,并输出完成查找和替换后的字符串。具体实现过程是:使用 `strstr` 函数查找目标字符串在源字符串中的位置,然后使用 `strncpy` 和 `strcat` 函数将替换字符串插入到源字符串中对应位置,最后将指针后移即可。