string类型的字符串复制
时间: 2023-09-23 14:12:24 浏览: 52
在C++中,可以使用strcpy函数来复制一个字符串。该函数的原型如下:
```c++
char* strcpy(char* destination, const char* source);
```
其中,destination是目标字符串,source是源字符串。该函数会将源字符串复制到目标字符串中,并返回目标字符串的地址。
示例代码如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[] = "Hello, world!";
char str2[20];
// 复制str1到str2
strcpy(str2, str1);
cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
return 0;
}
```
输出结果为:
```
str1: Hello, world!
str2: Hello, world!
```
可以看到,str1和str2的内容相同,说明strcpy函数成功地将一个字符串复制到了另一个字符串中。需要注意的是,目标字符串必须足够大,能够容纳源字符串的所有字符,否则会导致缓冲区溢出和未定义行为。
相关问题
string类型字符串如何复制
可以使用赋值运算符(=)或者string类的成员函数assign()来复制string类型字符串。
例如,使用赋值运算符可以这样复制字符串:
```c++
std::string str1 = "Hello";
std::string str2 = str1; // 复制 str1 到 str2
```
使用成员函数assign()可以这样复制字符串:
```c++
std::string str1 = "Hello";
std::string str2;
str2.assign(str1); // 复制 str1 到 str2
```
3、编程实现两个字符串的连接,最后用cout语句输出。分别采用C风格字符串连接(可以使用函数strcpy、strcat)和C++ string类型字符串连接。
使用 C 风格字符串连接:
#include <stdio.h>
#include <string.h>
int main() {
char str1[50] = "Hello";
char str2[50] = "World";
char str3[100];
strcpy(str3, str1); // 复制 str1 到 str3
strcat(str3, str2); // 连接 str2 到 str3
printf("%s\n", str3); // 输出连接后的字符串
return 0;
}
使用 C++ string 类型字符串连接:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "Hello";
string str2 = "World";
string str3;
str3 = str1 + str2; // 连接 str1 和 str2
cout << str3 << endl; // 输出连接后的字符串
return 0;
}
阅读全文