在c语言中,编写一个函数实现从源字符串中查找目标字符串,并进行替换。如输入源字符串“We love math! ”, 查找目标字符串“math”,并将其替换为字符串“C Program”,在主函数中输出替换后的字符串“We love C Program!”
时间: 2024-02-16 16:04:20 浏览: 21
好的,以下是一个 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[] = "We love math! ";
char target_str[] = "math";
char replace_str[] = "C Program";
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() 函数来进行替换。
在主函数中,我们定义了源字符串、目标字符串和替换字符串。然后,我们调用 replace_str() 函数来进行替换,并输出替换后的字符串。
例如,在本例中,源字符串为 "We love math! ",目标字符串为 "math",替换字符串为 "C Program"。调用 replace_str() 函数后,输出结果为:
```
We love C Program!
```
希望这个示例对你有所帮助!