用C语言编写一段字符串替换代码
时间: 2023-10-23 20:12:04 浏览: 38
以下是一段使用C语言编写的字符串替换代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], old[20], new[20], tmp[100];
int i, j, k, old_len, new_len;
// 输入字符串和需要替换的子串和新子串
printf("请输入一段字符串:");
scanf("%[^\n]", str);
getchar();
printf("请输入需要替换的子串:");
scanf("%s", old);
printf("请输入新的子串:");
scanf("%s", new);
old_len = strlen(old);
new_len = strlen(new);
// 遍历字符串,查找需要替换的子串
for(i = 0; str[i] != '\0';) {
j = 0;
// 检查当前位置是否为需要替换的子串的起始位置
while (str[i + j] == old[j] && old[j] != '\0') {
j++;
}
// 如果找到了需要替换的子串,将其替换成新子串
if (j == old_len) {
for (k = 0; k < new_len; k++) {
tmp[i + k] = new[k];
}
i += new_len;
} else {
// 如果没有找到需要替换的子串,将此字符复制到临时字符串中
tmp[i] = str[i];
i++;
}
}
// 将临时字符串中的内容拷贝回原字符串
tmp[i] = '\0';
strcpy(str, tmp);
printf("替换后的字符串为:%s", str);
return 0;
}
```
该代码通过遍历输入的字符串,查找需要替换的子串,将其替换成新子串,并将替换后的字符串输出。