在 C 語言中,沒有內(nèi)置的 string
類和方法。但是,我們可以使用字符數(shù)組來處理字符串,并使用一些內(nèi)置函數(shù)來實(shí)現(xiàn)字符串插入。
下面是一個(gè)簡單的示例,演示了如何在 C 語言中使用字符數(shù)組實(shí)現(xiàn)字符串插入:
#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 數(shù)組向后移動(dòng) pos 個(gè)位置
for (int i = dest_len; i >= pos; --i) {
dest[i] = dest[i - 1];
}
// 將 src 字符串復(fù)制到 dest 數(shù)組的指定位置
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;
}
在這個(gè)示例中,我們定義了一個(gè)名為 insert_string
的函數(shù),它接受三個(gè)參數(shù):一個(gè)目標(biāo)字符數(shù)組 dest
,一個(gè)要插入的源字符串 src
,以及一個(gè)插入位置 pos
。函數(shù)的實(shí)現(xiàn)很簡單:首先將目標(biāo)數(shù)組向后移動(dòng)指定的位置,然后將源字符串復(fù)制到目標(biāo)數(shù)組的指定位置。最后,在字符串末尾添加空字符以表示字符串的結(jié)束。
在 main
函數(shù)中,我們創(chuàng)建了一個(gè)名為 dest
的字符數(shù)組,用于存儲(chǔ)插入后的字符串。我們將要插入的字符串 src
和插入位置 pos
傳遞給 insert_string
函數(shù),并在插入后打印結(jié)果。