用c++编写程序,将两个字符串连接起来,不使用strcat()函数
时间: 2023-12-15 11:10:36 浏览: 83
你可以使用C++中的字符串类`std::string`来连接两个字符串。以下是一个示例程序,它可以将两个字符串连接起来:
```c++
#include <iostream>
#include <string>
int main() {
std::string str1, str2;
std::cout << "Input the first string: ";
std::getline(std::cin, str1);
std::cout << "Input the second string: ";
std::getline(std::cin, str2);
std::string res = str1 + str2;
std::cout << "Result string: " << res << std::endl;
return 0;
}
```
该程序会提示用户输入两个字符串,然后使用`+`操作符将它们连接到一个结果字符串中。注意,我们直接将两个字符串相加,不需要使用循环或其他操作来完成字符串的连接。最后,我们使用`std::cout`输出结果字符串。
相关问题
用c++编写程序,将两个字符串连接起来并输出。不可用strcat函数。
在C++中,如果你想将两个字符串连接起来并且不用内置的`strcat`函数,可以手动创建一个新的字符串并逐字符地添加。这里有一个基本的示例,它使用了`+`运算符和`length()`函数:
```cpp
#include <iostream>
#include <string> // 引入string库以便我们可以操作字符串
std::string concatStrings(const std::string& str1, const std::string& str2) {
std::string result;
result.reserve(str1.length() + str2.length()); // 预留足够的空间避免多次动态内存分配
result += str1; // 使用+=操作符追加第一个字符串
result += str2; // 再次追加第二个字符串
return result;
}
int main() {
std::string str1 = "Hello, ";
std::string str2 = "world!";
std::string combined = concatStrings(str1, str2);
std::cout << "Combined string is: " << combined << std::endl;
return 0;
}
```
在这个程序里,我们定义了一个名为`concatStrings`的函数,它接受两个`const std::string`作为参数,创建一个新的字符串`result`,并将这两个字符串拼接在一起。`reserve`函数用于预先分配内存,提高性能。
运行此程序会输出:"Combined string is: Hello, world!"。
编写一程序,将两个字符串连接起来,要求不用 strcat 函数
编写一个不使用 `strcat` 函数将两个字符串连接的 C++ 程序,可以使用另一种方法,即通过字符数组逐个添加字符。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 定义一个函数,用于连接两个字符串
void concatenateStrings(char* str1, char* str2, char* result) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 将第一个字符串复制到结果数组中
for (int i = 0; i < len1; ++i)
result[i] = str1[i];
// 结束符 '\0' 后追加第二个字符串
result[len1] = '\0'; // 结束前一个字符串
for (int i = 0; i < len2; ++i) {
result[len1 + 1 + i] = str2[i];
}
result[len1 + 1 + len2] = '\0'; // 结束整个结果字符串
}
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
char combined[50]; // 假设最大长度为49(包括'\0')
concatenateStrings(str1, str2, combined);
cout << "Combined string: " << combined << endl;
return 0;
}
```
在这个程序中,我们首先计算两个输入字符串的长度,然后手动将 `str1` 的内容复制到 `result` 中,接着添加 `str2` 的内容,并在末尾加上终止符`\0`。
阅读全文