使用c语言编写一段代码实现对原字符串中目标字符串的查找的替换
时间: 2023-12-12 08:03:11 浏览: 116
下面是使用C语言实现对原字符串中目标字符串的查找并替换的示例代码:
```c
#include <stdio.h>
#include <string.h>
void replace(char *str, char *target, char *replacement) {
int target_len = strlen(target);
int replacement_len = strlen(replacement);
char *pos = strstr(str, target);
while (pos != NULL) {
memmove(pos + replacement_len, pos + target_len, strlen(pos + target_len) + 1);
memcpy(pos, replacement, replacement_len);
pos = strstr(pos + replacement_len, target);
}
}
int main() {
char str[] = "A quick brown fox jumps over the lazy dog.";
char target[] = "fox";
char replacement[] = "cat";
replace(str, target, replacement);
printf("%s\n", str);
return 0;
}
```
这段代码中,`replace`函数接收三个参数:原字符串`str`、目标字符串`target`和替换字符串`replacement`。它首先计算出目标字符串和替换字符串的长度,然后使用`strstr`函数查找目标字符串在原字符串中的位置,如果找到了就使用`memmove`函数将目标字符串后面的部分向后移动替换字符串长度的距离,然后使用`memcpy`函数将替换字符串复制到目标字符串的位置。最后,函数继续查找下一个目标字符串的位置,直到找不到为止。
在`main`函数中,我们定义了一个测试字符串`str`、目标字符串`target`和替换字符串`replacement`,然后调用`replace`函数进行替换,并输出替换后的结果。
阅读全文