写一个字符串拼接函数,该函数是指针类型
时间: 2024-03-06 14:47:39 浏览: 67
下面是一个示例函数,它将两个字符串拼接起来,并返回一个指向拼接后字符串的指针:
```
#include <iostream>
#include <cstring>
char* concat(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int size = len1 + len2 + 1; // 1 for null terminator
char* result = new char[size];
strcpy(result, str1);
strcat(result, str2);
return result;
}
int main() {
const char* str1 = "Hello, ";
const char* str2 = "world!";
char* result = concat(str1, str2);
std::cout << result << std::endl;
delete[] result;
return 0;
}
```
这个函数首先计算出拼接后字符串的长度,然后动态分配一个字符数组来存储拼接后的字符串。接着,它使用 strcpy 函数将第一个字符串拷贝到结果数组中,再使用 strcat 函数将第二个字符串拼接到结果数组末尾。最后,它返回指向结果数组的指针。注意,在使用完结果数组后,我们需要使用 delete[] 操作符释放它所占用的内存。
阅读全文