c++不用stract函数将两个数组连接起来
时间: 2024-11-17 16:29:22 浏览: 23
在C++中,如果没有内置的`strcat`类似的功能直接操作数组,我们可以手动遍历数组并将第一个数组的内容复制到第二个数组的末尾。这里是一个简单的示例,假设我们有两维字符数组:
```cpp
#include <cstring> // 需要用到memset函数
void concatenateArrays(char* arr1, char* arr2, int size1, int size2) {
// 检查数组是否为空
if (size1 == 0 || size2 == 0) {
return;
}
// 为合并后的数组分配空间
char combined[size1 + size2];
std::strcpy(combined, arr1); // 复制arr1的内容到combined
// 将arr2的内容追加到combined的末尾
int i = size1; // arr1的结束位置
while (i < size1 + size2) {
combined[i] = arr2[i - size1]; // 注意索引调整
++i;
}
combined[i] = '\0'; // 添加字符串终止符'\0'
}
// 使用方法
char arr1[10] = "Hello, ";
char arr2[] = "World!";
int size1 = sizeof(arr1) / sizeof(arr1[0]);
int size2 = sizeof(arr2);
concatenateArrays(arr1, arr2, size1, size2);
// 现在combined存储了"Hello, World!"
```
注意这只是一个基本示例,实际应用中可能会处理更复杂的情况,比如数组中的元素不是null-terminated字符串。
阅读全文