编写一个程序,将两个字符串连接起来。不能使用strcat函数
时间: 2024-11-25 15:15:27 浏览: 24
当你需要编写一个简单的程序,将两个字符串连接起来,而又不能直接使用预定义的字符串连接函数(如C语言中的`strcat`),你可以选择手动创建一个新的字符串,并逐个字符地添加到新字符串中。以下是一个使用C++的例子:
```cpp
#include <iostream>
#include <string>
// 自定义字符串连接函数
std::string concatenateStrings(const std::string& str1, const std::string& str2) {
int len1 = str1.length();
int len2 = str2.length();
std::string result(len1 + len2, '\0'); // 初始化新字符串,长度为两原串之和
for (int i = 0; i < len1; ++i) {
result[i] = str1[i]; // 把第一个字符串的每个字符复制到结果
}
for (int i = 0; i < len2; ++i) {
result[len1 + i] = str2[i]; // 把第二个字符串的每个字符添加到结果的剩余位置
}
return result;
}
int main() {
std::string str1 = "Hello, ";
std::string str2 = "world!";
std::string result = concatenateStrings(str1, str2);
std::cout << "Concatenated string: " << result << std::endl;
return 0;
}
```
在这个例子中,我们首先计算两个字符串的总长度,然后创建一个足够大的新字符串来容纳它们。接着,我们遍历原字符串并将字符逐一复制到新字符串中。
阅读全文