用codeblock编写一个程序,将两个字符串连接起来,不用strcat函数。
时间: 2024-11-25 21:15:35 浏览: 44
当你想要在C++中连接两个字符串而不使用`std::string::append`或`strcat`这样的库函数时,你可以选择手动操作字符数组(如果字符串较小且内存管理不是主要关注点)。这里有一个简单的示例,使用C风格的字符串连接:
```cpp
#include <iostream>
// 自定义函数,用于将两个字符串连接
void concatenateStrings(char* str1, char* str2, char* result) {
// 遍历第一个字符串
for (char* p = str1; *p != '\0'; ++p) {
// 将字符复制到结果字符串
*result++ = *p;
}
// 在结果字符串末尾添加第二个字符串
while (*str2 != '\0') {
*result++ = *str2++;
}
// 结束符
*result = '\0';
}
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
char result[50]; // 假设结果字符串足够大
concatenateStrings(str1, str2, result);
std::cout << "Concatenated string: " << result << std::endl;
return 0;
}
```
在这个例子中,`concatenateStrings`函数接收两个指针(`str1`和`str2`),以及一个指向结果缓冲区的指针`result`。它首先遍历`str1`并逐个复制其字符到`result`,然后将`str2`中的剩余字符追加到`result`的末尾。
请注意,这个方法并不高效,因为每次字符复制都需要单独的内存操作。对于大型字符串或频繁的操作,还是建议使用标准库中的`std::string`和相关方法。
阅读全文
相关推荐


















