char *转string
时间: 2023-08-13 19:05:46 浏览: 92
将 `char*` 转换为 `std::string` 的常用方法是使用 `std::string` 的构造函数或赋值运算符。以下是两种常见的方法:
方法一:使用构造函数
```cpp
const char* cstr = "Hello";
std::string str(cstr);
```
方法二:使用赋值运算符
```cpp
const char* cstr = "Hello";
std::string str = cstr;
```
无论使用哪种方法,都可以将 `char*` 类型的字符串转换为 `std::string` 类型。需要注意的是,当使用指向字符数组的指针时,确保该字符数组以空字符 `'\0'` 结尾,即字符串的结尾必须是空字符,表示字符串的结束。
相关问题
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*指针指向的是动态分配的内存,需要确保在转换后释放该内存,以免造成内存泄漏。
char * 转string
要将 `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 字符结尾的有效字符串。
阅读全文