将两个字符串连接起来,不用strcat函数
时间: 2023-06-07 16:09:22 浏览: 110
你好,关于你的问题,可以使用以下代码将两个字符串连接起来:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[20] = "Hello";
char str2[20] = " World!";
int i = 0, j = 0;
while (str1[i] != '\0') {
i++;
}
while (str2[j] != '\0') {
str1[i] = str2[j];
i++;
j++;
}
str1[i] = '\0'; // 添加字符串结束符
cout << str1 << endl;
return 0;
}
```
上述代码中,首先将指针 `i` 和 `j` 初始化为 0,然后使用 `while` 循环找到字符串 `str1` 的末尾位置。接着使用另一个 `while` 循环,逐个将 `str2` 中的字符添加到 `str1` 的末尾,直到 `str2` 的末尾位置。最后,在 `str1` 的末尾添加字符串结束符 `\0`,以表示字符串的结束。最终,使用 `cout` 输出拼接后的字符串 `str1`。
希望能解答您的问题。
相关问题
用C语言程序写一个函数,将两个字符串连接,不用strcat函数
下面是一个示例函数,用于将两个字符串连接起来:
```c
#include <stdio.h>
void mystrcat(char *dest, const char *src) {
// 找到dest字符串的末尾
while (*dest != '\0') {
dest++;
}
// 将src字符串复制到dest字符串末尾
while (*src != '\0') {
*dest = *src;
dest++;
src++;
}
// 在最后添加字符串结束符
*dest = '\0';
}
int main() {
char dest[100] = "Hello, ";
char src[] = "world!";
mystrcat(dest, src);
printf("%s\n", dest); // 输出 "Hello, world!"
return 0;
}
```
该函数基本思路是先找到dest字符串的末尾,然后将src字符串复制到dest字符串的末尾,最后添加字符串结束符'\0'。需要注意的是,为了保证安全,我们将src参数声明为const char*,避免在函数内部修改其内容。
将两个字符串连接起来不用strcat
可以使用 "+" 操作符将两个字符串连接起来,例如:
```
string1 = "Hello"
string2 = " World"
result = string1 + string2
print(result)
# 输出 "Hello World"
```
也可以使用字符串格式化字符串,例如:
```
string1 = "Hello"
string2 = " World"
result = "%s%s"%(string1,string2)
print(result)
# 输出 "Hello World"
```
或者使用join函数
```
string1 = "Hello"
string2 = " World"
result = " ".join([string1, string2])
print(result)
# 输出 "Hello World"
```
阅读全文