不使用string.h内定义的任何函数,自己定义一个函数 int strcat(char *str1,char * str2),完成把str2接到str1后的功能, 并返回连接后字符串总长度。主函数中输入2个字符串,输出连接后的字符串长度,以及连接后的字符串。
时间: 2024-03-17 08:43:28 浏览: 58
好的,我可以帮你写出这样一个函数。下面是代码:
```c++
#include <iostream>
using namespace std;
int strcat(char *str1, char *str2) {
int len1 = 0, len2 = 0;
while (str1[len1]) len1++; // 计算 str1 的长度
while (str2[len2]) len2++; // 计算 str2 的长度
for (int i = 0; i < len2; i++) {
str1[len1 + i] = str2[i]; // 将 str2 拼接到 str1 后面
}
str1[len1 + len2] = '\0'; // 字符串结尾加上 \0
return len1 + len2; // 返回连接后字符串总长度
}
int main() {
char str1[100], str2[100];
cin >> str1 >> str2;
int len = strcat(str1, str2);
cout << "连接后字符串长度:" << len << endl;
cout << "连接后的字符串:" << str1 << endl;
return 0;
}
```
这个函数的实现思路比较简单,就是先计算出两个字符串的长度,然后将第二个字符串的每个字符拼接到第一个字符串后面,最后在字符串结尾添加一个 \0。在主函数中输入两个字符串,调用 strcat 函数进行拼接,然后输出连接后字符串长度和连接后的字符串。
阅读全文