char * 转string
时间: 2023-12-01 19:04:20 浏览: 74
要将 `char *` 转换为 `string`,可以使用 `string` 类的构造函数。以下是一个示例:
```cpp
#include <iostream>
#include <string>
int main() {
char *cstr = "Hello, world!";
std::string str(cstr); // 使用 char * 构造 string
std::cout << str << std::endl;
return 0;
}
```
该代码将 `char *` 类型的字符串 "Hello, world!" 转换为 `string` 类型的对象 `str`。然后,将字符串打印到控制台上。输出将是 "Hello, world!"。
请注意,使用 `char *` 构造 `string` 时,要确保传入的字符指针指向以 null 字符结尾的有效字符串。
相关问题
char*转string
可以使用string的构造函数将char*转换为string。
例如:
```cpp
char* cstr = "Hello, World!";
std::string str(cstr);
```
也可以使用赋值操作符将char*转换为string。
例如:
```cpp
char* cstr = "Hello, World!";
std::string str = cstr;
```
需要注意的是,如果char*指向的字符串包含'\0'字符,那么只会转换'\0'之前的部分。如果需要将整个字符串转换为string,可以使用以下方法:
```cpp
char* cstr = "Hello, World!";
std::string str(cstr, strlen(cstr));
```
这样可以将整个字符串转换为string。
char* 转string
可以使用string的构造函数将char*转换为string,如下所示:
```c++
const char* cstr = "Hello, world!";
std::string str(cstr);
```
或者使用string的assign函数:
```c++
const char* cstr = "Hello, world!";
std::string str;
str.assign(cstr);
```
两种方法都能将char*转换为string。注意,如果原始的char*指针指向的是动态分配的内存,需要确保在转换后释放该内存,以免造成内存泄漏。
阅读全文