C语言编写一个将一个字符串插入到另一个字符串中的函数,在主函数中调用该函数实现字符串的插入操作。 插入函数包含三个参数,即将str2插入到str1的pos位置。
时间: 2024-05-04 15:17:22 浏览: 96
以下是实现该功能的代码:
```c
#include <stdio.h>
#include <string.h>
void insert_string(char *str1, char *str2, int pos) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (pos > len1) {
pos = len1;
}
// 将str1中pos位置后的字符向后移动len2个位置
memmove(str1 + pos + len2, str1 + pos, len1 - pos + 1);
// 将str2插入到str1的pos位置
memcpy(str1 + pos, str2, len2);
}
int main() {
char str1[100] = "hello world";
char str2[] = "beautiful ";
int pos = 6;
insert_string(str1, str2, pos);
printf("%s\n", str1); // 输出结果为:hello beautiful world
return 0;
}
```
在上面的代码中,`insert_string`函数接收三个参数:`str1`代表要插入的字符串,`str2`代表要插入的字符串,`pos`代表插入位置。首先,我们通过`strlen`函数获取`str1`和`str2`的长度,然后判断插入位置是否超过了`str1`的长度,如果超过了,则将插入位置修改为`str1`的末尾位置。接着,我们使用`memmove`函数将`str1`中插入位置后的字符向后移动`len2`个位置,腾出空间插入`str2`。最后,我们使用`memcpy`函数将`str2`插入到`str1`的插入位置。在主函数中,我们定义了两个字符串`str1`和`str2`,以及一个插入位置`pos`,然后调用`insert_string`函数实现字符串的插入操作,并输出结果。
阅读全文