C++ char* 复制为string
时间: 2023-10-23 11:12:04 浏览: 134
C++中string的用法
可以使用C++中的`std::string`类来完成这个任务。
首先,需要包含头文件`<string>`。然后,可以将`char*`类型的字符串直接传递给`std::string`的构造函数,从而将其转换为`string`类型:
```cpp
#include <string>
char* cstr = "Hello, world!";
std::string str(cstr);
```
或者,可以使用`std::strcpy()`函数将`char*`类型的字符串复制到一个字符数组中,然后将该字符数组传递给`std::string`的构造函数:
```cpp
#include <string>
#include <cstring>
char* cstr = "Hello, world!";
char buf[256];
std::strcpy(buf, cstr);
std::string str(buf);
```
需要注意的是,在将`char*`类型的字符串直接传递给`std::string`的构造函数时,如果`char*`指针指向的字符串是一个动态分配的字符串,那么需要手动释放该字符串的内存。否则,可能会导致内存泄漏。例如:
```cpp
#include <string>
char* cstr = new char[256];
std::strcpy(cstr, "Hello, world!");
std::string str(cstr);
delete[] cstr;
```
阅读全文