编写在c语言中一个函数实现从源字符串中查找目标字符串,并进行替换.
时间: 2024-02-16 20:04:16 浏览: 137
好的,以下是一个 C 代码示例:
```c
#include <stdio.h>
#include <string.h>
void replace_str(char *source_str, char *target_str, char *replace_str) {
char *pos = source_str;
size_t target_len = strlen(target_str);
size_t replace_len = strlen(replace_str);
while ((pos = strstr(pos, target_str)) != NULL) {
memmove(pos + replace_len, pos + target_len, strlen(pos + target_len) + 1);
memcpy(pos, replace_str, replace_len);
pos += replace_len;
}
}
int main() {
char source_str[] = "Hello, World!";
char target_str[] = "World";
char replace_str[] = "Everyone";
replace_str(source_str, target_str, replace_str);
printf("%s\n", source_str);
return 0;
}
```
这个函数接受三个参数:源字符串(source_str)、目标字符串(target_str)和替换字符串(replace_str)。该函数使用了 C 标准库中的函数 strstr() 来查找目标字符串在源字符串中的位置,并使用了 memmove() 和 memcpy() 函数来进行替换。
例如,如果你想将字符串 "Hello, World!" 中的 "World" 替换为 "Everyone",可以这样调用该函数:
```c
replace_str(source_str, "World", "Everyone");
```
输出结果为:
```
Hello, Everyone!
```
希望这个示例对你有所帮助!
阅读全文