c++使用指针连接键盘输入的两个字符串,输入的字符串中可能含有空格
时间: 2024-03-21 20:44:00 浏览: 68
可以使用指针和动态内存分配来连接键盘输入的两个字符串,下面是一个示例程序:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
const int MAX_LEN = 100;
char* str1 = new char[MAX_LEN]; // 动态分配内存
char* str2 = new char[MAX_LEN];
cout << "请输入第一个字符串:" << endl;
cin.getline(str1, MAX_LEN); // getline函数可以读取包含空格的字符串
cout << "请输入第二个字符串:" << endl;
cin.getline(str2, MAX_LEN);
int len1 = strlen(str1);
int len2 = strlen(str2);
char* str3 = new char[len1 + len2 + 1]; // 动态分配内存
strcpy(str3, str1); // 将第一个字符串拷贝到str3中
strcat(str3, str2); // 将第二个字符串拼接到str3的末尾
cout << "拼接后的字符串为:" << endl;
cout << str3 << endl;
delete[] str1; // 释放内存
delete[] str2;
delete[] str3;
return 0;
}
```
上述程序中,使用了 `getline` 函数读取包含空格的字符串,使用了 `strcpy` 函数将第一个字符串拷贝到 `str3` 中,使用了 `strcat` 函数将第二个字符串拼接到 `str3` 的末尾,最后释放了动态分配的内存。
阅读全文