C++里将char *转化为string
时间: 2023-08-14 16:07:23 浏览: 262
可以使用`std::string`的构造函数将`char*`类型转换为`std::string`类型。例如:
```c++
char* cstr = "Hello, World!";
std::string str = std::string(cstr);
```
或者可以使用`std::string`的赋值操作符,例如:
```c++
char* cstr = "Hello, World!";
std::string str;
str = cstr;
```
需要注意的是,如果`char*`指向的字符串中包含`\0`字符,那么在转换为`std::string`时会将其作为字符串的结尾,因此可能会截断字符串。如果想要避免这种情况,可以使用`std::string`的另一个构造函数,该构造函数需要指定字符串的长度,例如:
```c++
char cstr[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
std::string str(cstr, sizeof(cstr));
```
相关问题
C++如何将char*转换为string?
可以使用string类的构造函数将char*转换为string,例如:
```c++
char* cstr = "hello";
string str(cstr);
```
或者使用string类的assign函数将char*赋值给string,例如:
```c++
char* cstr = "hello";
string str;
str.assign(cstr);
```
C++将const char* 赋值给string
可以通过将const char*类型的字符串直接赋值给string类型的变量来实现:
```c++
const char* str = "Hello, world!";
std::string s = str;
```
这样,字符串"Hello, world!"就被赋值给了变量s。在这个过程中,C++编译器会自动将const char*类型的字符串转换为string类型。
阅读全文