c++中定义两个字符串(由字符数组表示)strl、str2,其内容由用户输入,将 str2的内容拷贝到strl 字符串之后,用指针实现。注意:strl 长度要足够。
时间: 2024-11-12 12:34:58 浏览: 6
在C++中,你可以使用`strcpy()`函数或者通过指针操作来完成这个任务。这里是一个使用指针的例子:
```cpp
#include <iostream>
using namespace std;
int main() {
char str1[100]; // 假设str1长度足够,至少包含一个终止符'\0'
char str2[50];
// 获取用户输入并复制到str2
cout << "Enter content for str2: ";
cin.getline(str2, sizeof(str2));
// 检查str1是否足够存放str2内容(包括终止符)
if (strlen(str2) + 1 <= sizeof(str1)) {
// 记录str1的原始位置,以便于移动
char* originalPos = str1; // str1当前指向的位置
// 将str2内容从头开始复制到str1
str1 = str2;
// 移动str1的内容到原来str2的位置之后
memmove(originalPos + strlen(str2), originalPos, sizeof(str1) - (originalPos - str1));
// 添加终止符
*str1 = '\0';
} else {
cout << "str1 is not large enough to copy str2." << endl;
}
cout << "str1 after copying: " << str1 << endl;
return 0;
}
```
在这个例子中,我们首先获取`str2`的内容,然后检查`str1`是否有足够的空间来存放`str2`加上终止符。如果有,我们就移动`str1`的内容,使得`str2`的内容接在`str1`的后面。如果没有足够的空间,就输出错误信息。
阅读全文