字符串的连接pta
时间: 2023-08-20 13:03:58 浏览: 164
好的,根据您的要求,以下是一个字符串连接的函数实现:
```
#include <stdio.h>
#include <string.h>
char* strconnect(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
char* result = (char*)malloc(sizeof(char) * (len1 + len2 + 1)); // 为新的字符串分配内存空间
if (result == NULL) {
return NULL; // 内存分配失败,返回空指针
}
strcpy(result, str1); // 将第一个字符串拷贝到新的字符串中
strcat(result, str2); // 将第二个字符串连接到新的字符串中
return result;
}
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
char* result = strconnect(str1, str2);
if (result == NULL) {
printf("Failed to allocate memory.\n");
return 1;
}
printf("%s\n", result);
free(result); // 释放内存空间
return 0;
}
```
这个函数使用了C标准库中的函数`strlen`、`malloc`、`strcpy`和`strcat`。函数的参数为两个字符串指针,返回值为新的字符串指针。
函数首先计算了两个字符串的长度,然后根据总长度为新的字符串分配了内存空间。如果内存分配失败,则返回空指针NULL。否则,将第一个字符串拷贝到新的字符串中,然后将第二个字符串连接到新的字符串后面,并返回新的字符串指针。
在主函数中,我们定义了两个字符串`str1`和`str2`,调用了`strconnect`函数将它们连接起来,并打印了结果。需要注意的是,在使用完新的字符串后,需要使用`free`函数释放分配的内存空间,避免内存泄漏。
阅读全文