阅读量:0
在C语言中,可以使用指针来实现字符串拼接。以下是一个示例:
#include <stdio.h> #include <stdlib.h> #include <string.h> char* str_concat(const char* str1, const char* str2) { // 计算两个字符串的长度 size_t len1 = strlen(str1); size_t len2 = strlen(str2); // 分配足够的内存来存储两个字符串拼接后的结果 char* result = (char*)malloc((len1 + len2 + 1) * sizeof(char)); // 检查内存分配是否成功 if (result == NULL) { printf("Memory allocation failed.\n"); exit(1); } // 将第一个字符串拷贝到结果字符串中 strcpy(result, str1); // 将第二个字符串追加到结果字符串后面 strcat(result, str2); return result; } int main() { const char* str1 = "Hello"; const char* str2 = " World!"; char* result = str_concat(str1, str2); printf("%s\n", result); free(result); // 释放内存 return 0; }
在上面的示例中,str_concat
函数接受两个参数str1
和str2
,分别是要拼接的两个字符串。首先,计算两个字符串的长度。然后,使用malloc
函数动态分配足够的内存来存储拼接后的结果。接着,使用strcpy
函数将第一个字符串拷贝到结果字符串中,再使用strcat
函数将第二个字符串追加到结果字符串的末尾。最后,返回结果字符串的指针。
在main
函数中,定义了两个要拼接的字符串str1
和str2
,并将它们作为参数传递给str_concat
函数。然后,将返回的结果字符串打印出来。最后,使用free
函数释放动态分配的内存。
输出结果为:Hello World!
。