char* 和std::string互转
时间: 2023-05-11 22:07:41 浏览: 79
可以使用以下代码将char*转换为std::string:
```
char* cstr = "Hello World";
std::string str(cstr);
```
可以使用以下代码将std::string转换为char*:
```
std::string str = "Hello World";
const char* cstr = str.c_str();
```
相关问题
char* 转std::string
可以使用std::string的构造函数或者直接赋值的方式将char*转换成std::string。具体方法如下:
1.使用构造函数
```cpp
char* p = "Hello";
std::string str(p); // 使用构造函数将char*转换成std::string
```
2.直接赋值
```cpp
char* p = "Hello";
std::string str = p; // 直接将char*赋值给std::string
```
需要注意的是,如果char*指向的是一个字符串常量,那么不能通过char*修改字符串的值,否则会导致未定义的行为。因此,在将char*转换成std::string时,需要确保char*指向的是一个可读的字符串。
C ++ char* 转 std::string
可以使用std::string的构造函数将char*转换为std::string,如下所示:
```cpp
const char* cstr = "Hello, world!";
std::string str(cstr);
```
也可以使用std::string的assign函数将char*转换为std::string,如下所示:
```cpp
const char* cstr = "Hello, world!";
std::string str;
str.assign(cstr);
```