若要求不使用strcat函数实现上述代码
时间: 2024-03-18 15:42:09 浏览: 55
C语言 不使用strcat函数实现连接两个字符串功能代码
可以使用指针遍历字符串,将第二个字符串的每个字符复制到第一个字符串的末尾。具体实现如下:
```c++
#include <iostream>
using namespace std;
int main() {
const int MAX_LEN = 100;
char str1[MAX_LEN], str2[MAX_LEN];
cout << "请输入第一个字符串:";
cin.getline(str1, MAX_LEN); // 获取包含空格的字符串
cout << "请输入第二个字符串:";
cin.getline(str2, MAX_LEN); // 获取包含空格的字符串
// 找到 str1 的末尾
char *p = str1;
while (*p) {
p++;
}
// 将 str2 的每个字符复制到 str1 的末尾
char *q = str2;
while (*q) {
*p = *q;
p++;
q++;
}
*p = '\0'; // 在 str1 的末尾添加字符串结束标志
cout << "合并后的字符串是:" << str1 << endl;
return 0;
}
```
在上面的代码中,我们首先定义了两个字符数组 `str1` 和 `str2`,用于保存输入的两个字符串。然后使用 `cin.getline` 函数获取输入的字符串,该函数可以正确处理包含空格的字符串。接着使用指针 `p` 遍历 `str1`,并找到其末尾。然后使用指针 `q` 遍历 `str2`,将其中的每个字符复制到 `str1` 的末尾。最后在 `str1` 的末尾添加字符串结束标志。
阅读全文