C语言字符串合并:不使用strcat函数
C语言字符串合并:不使用strcat函数
在 C 语言中,我们可以使用循环遍历两个字符串,将第二个字符串的每个字符逐一添加到第一个字符串的末尾,从而实现字符串合并。下面是一个示例代码:
#include <stdio.h>
void string_concat(char str1[], char str2[]) {
int i, j;
i = j = 0;
while (str1[i] != '\0') {
i++;
}
while (str2[j] != '\0') {
str1[i] = str2[j];
i++;
j++;
}
str1[i] = '\0';
}
int main() {
char str1[50] = "Hello";
char str2[] = " World!";
string_concat(str1, str2);
printf("%s\n", str1); // 输出:Hello World!
return 0;
}
在 string_concat 函数中,我们使用两个变量 i 和 j 循环遍历两个字符串。首先找到第一个字符串的末尾,即以 '\0' 结尾的位置,然后将第二个字符串的每个字符逐一添加到第一个字符串的末尾。最后,需要在第一个字符串的结尾添加一个 '\0',以表示字符串的结束。
在主函数中,我们定义了两个字符串 str1 和 str2,并将 str2 合并到 str1 中。最后,我们使用 printf 函数输出合并后的字符串。
注意:
- 在代码中,我们使用了
\0来表示字符串的结束符,而不是�。这是因为在 JSON 格式中,�会被解析为一个空字符。 - 本代码示例假设第一个字符串有足够的空间存储合并后的字符串。如果第一个字符串的空间不足,可能会导致内存溢出错误。
除了上述方法外,还可以使用 strcpy 和 strcat 等函数来实现字符串合并。然而,使用循环遍历字符串可以更好地理解字符串操作的底层实现机制。
原文地址: https://www.cveoy.top/t/topic/mMwe 著作权归作者所有。请勿转载和采集!