用C++将两个字符串连接起来,不要用strcat函数。
时间: 2023-06-12 21:03:34 浏览: 163
可以使用指针来实现字符串拼接,下面是一个例子:
```c
#include <stdio.h>
void my_strcat(char *dest, const char *src) {
while (*dest) {
dest++;
}
while (*src) {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}
int main() {
char s1[100] = "Hello, ";
char s2[] = "world!";
my_strcat(s1, s2);
printf("%s\n", s1);
return 0;
}
```
这个程序定义了一个名为 `my_strcat` 的函数,该函数接受两个参数:目标字符串和源字符串,将源字符串拼接到目标字符串的末尾。该函数使用两个指针来遍历两个字符串。第一个指针 `dest` 指向目标字符串的末尾,第二个指针 `src` 指向源字符串的开头。然后,逐个将 `src` 指针指向的字符复制到 `dest` 指针指向的位置,并将两个指针都向前移动,直到 `src` 指针指向源字符串的结束符 `\0`。最后,在目标字符串的末尾添加一个结束符 `\0`。
相关问题
c++将两个字符串连接起来,不用strcat
以下是两种C++将两个字符串连接起来的例子,不使用strcat函数:
1.使用循环遍历字符串并将其连接起来:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[80], str2[40];
int i = 0, j = 0;
cout << "please enter the first string:";
cin.getline(str1, 80);
cout << "please enter the second strings:";
cin.getline(str2, 40);
while (str1[i] != '\0') {
i++;
}
while (str2[j] != '\0') {
str1[i] = str2[j];
i++;
j++;
}
str1[i] = '\0';
cout << "After some characters string is:" << str1 << endl;
return 0;
}
```
2.使用指针遍历字符串并将其连接起来:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[80], str2[40], *p1, *p2;
cout << "please enter the first string:";
cin.getline(str1, 80);
cout << "please enter the second strings:";
cin.getline(str2, 40);
p1 = str1;
p2 = str2;
while (*p1) {
p1++;
}
while (*p2) {
*p1 = *p2;
p1++;
p2++;
}
*p1 = '\0';
cout << "After some characters string is:" << str1 << endl;
return 0;
}
```
将两个字符串连接起来,不要用strcat函数。
将两个字符串连接起来,可以手动操作字符数组或者使用一些语言内置的方式来实现,而不用`strcat`这样的库函数。以下是几种常见方法:
1. **C++**: 可以创建一个新的字符数组,并逐个复制第一个字符串的所有字符,然后追加第二个字符串的首字符,直到结束。
```cpp
char str1[] = "Hello";
char str2[] = "World";
int len1 = strlen(str1);
int len2 = strlen(str2);
char result[len1 + len2];
strcpy(result, str1); // 复制str1到result
result[len1] = '\0'; // 结束str1的复制并添加空字符
strncat(result + len1, str2, len2); // 追加str2
```
2. **Python**: 使用`+`操作符即可轻松连接字符串。
```python
str1 = "Hello"
str2 = "World"
result = str1 + str2
```
3. **JavaScript**:
```javascript
let str1 = "Hello";
let str2 = "World";
let result = str1.concat(str2);
```
阅读全文