定义两个字符串str1,str2,其内容由用户输入,将str2的内容拷贝到str1字符串后,用指针实现
时间: 2024-11-29 08:33:50 浏览: 25
在C++中,你可以使用指针来实现这个功能。假设`char str1[100]`和`char str2[100]`是两个字符数组,你可以按照以下步骤操作:
```cpp
#include <iostream>
int main() {
char* str1 = new char[100]; // 创建指向str1的指针并分配内存
char* str2 = new char[100]; // 同理创建指向str2的指针
std::cout << "请输入字符串str1的内容:" << std::endl;
std::cin.getline(str1, 100); // 用户输入str1
std::cout << "请输入字符串str2的内容:" << std::endl;
std::cin.getline(str2, 100); // 用户输入str2
// 使用指针复制str2到str1
char* temp = str1; // 创建临时指针作为复制起点
for (size_t i = 0; str2[i] != '\0'; i++) { // 遍历str2直到遇到'\0'
*temp++ = str2[i]; // 将str2的元素逐个复制给str1
}
*temp = '\0'; // 结束复制后,在str1末尾添加'\0'
std::cout << "str1复制后的结果: " << str1 << std::endl;
// 释放内存
delete[] str1;
delete[] str2;
return 0;
}
```
在这个示例中,我们首先通过指针遍历`str2`并将每个字符赋值给`str1`。当输入完成并在`str2`结束时停止复制。记得在完成后手动添加`\0`以表示字符串结束。
阅读全文