char *转string
时间: 2023-08-13 13:05:46 浏览: 62
将 `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
要将 `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。