2. 在程序开发中,用户经常需要对字符串进行各种各样的操作,各种操作字符串的函数配合使用,接下来通过一个字符串操作案例来加深同学们对字符串操作的掌握。本案中用一个指定的字符串des去替换主串str中的某一个子串src,要把全部的子串都替换掉,且des与src是不等长的字符串。 序号 重点内容 要求 时间要求 1 字符串 1. 输入一个主串 2. 输入要替换掉的子串 3.请输入备用子串 30’ 2 replace函数 1. 定义replace函数进行字符串替换 2. 最终将替换后的字符串复制到str中 15’。c语言代码
时间: 2024-02-18 22:03:43 浏览: 68
以下是实现字符串替换的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void replace(char *str, char *src, char *des) {
int len1 = strlen(str);
int len2 = strlen(src);
int len3 = strlen(des);
int i, j, k;
int flag = 0;
char tmp[100];
for (i = 0; i < len1; i++) {
flag = 1;
for (j = 0; j < len2; j++) {
if (str[i+j] != src[j]) {
flag = 0;
break;
}
}
if (flag == 1) {
for (k = 0; k < len3; k++) {
tmp[k] = des[k];
}
for (k = i + len2; k < len1; k++) {
tmp[k - len2] = str[k];
}
tmp[len1 - len2 + len3] = '\0';
strcpy(str + i, tmp);
len1 = strlen(str);
i += len3 - 1;
}
}
}
int main() {
char str[100], src[20], des[20];
printf("请输入主串:");
scanf("%s", str);
printf("请输入要替换掉的子串:");
scanf("%s", src);
printf("请输入备用子串:");
scanf("%s", des);
replace(str, src, des);
printf("替换后的字符串:%s\n", str);
return 0;
}
```
运行结果示例:
```
请输入主串:hello world, hello CSDN!
请输入要替换掉的子串:hello
请输入备用子串:hi
替换后的字符串:hi world, hi CSDN!
```
阅读全文