在 C 语言中,没有内置的 string
类和方法。但是,我们可以使用字符数组来处理字符串,并使用一些内置函数来实现字符串插入。
下面是一个简单的示例,演示了如何在 C 语言中使用字符数组实现字符串插入:
#include <stdio.h>
#include <string.h>
void insert_string(char *dest, const char *src, int pos) {
int src_len = strlen(src);
int dest_len = strlen(dest);
// 将 dest 数组向后移动 pos 个位置
for (int i = dest_len; i >= pos; --i) {
dest[i] = dest[i - 1];
}
// 将 src 字符串复制到 dest 数组的指定位置
for (int i = 0; i < src_len; ++i) {
dest[pos + i] = src[i];
}
// 在字符串末尾添加空字符
dest[dest_len + src_len] = '\0';
}
int main() {
char dest[100] = "Hello, ";
const char *src = "World!";
int pos = 7;
insert_string(dest, src, pos);
printf("%s\n", dest); // 输出 "Hello, World!"
return 0;
}
在这个示例中,我们定义了一个名为 insert_string
的函数,它接受三个参数:一个目标字符数组 dest
,一个要插入的源字符串 src
,以及一个插入位置 pos
。函数的实现很简单:首先将目标数组向后移动指定的位置,然后将源字符串复制到目标数组的指定位置。最后,在字符串末尾添加空字符以表示字符串的结束。
在 main
函数中,我们创建了一个名为 dest
的字符数组,用于存储插入后的字符串。我们将要插入的字符串 src
和插入位置 pos
传递给 insert_string
函数,并在插入后打印结果。