const char* 转string
时间: 2023-03-20 16:03:47 浏览: 101
把const char*转换为string,可以使用string的构造函数,如下所示:
```c++
const char* c_str = "Hello, world!";
string str = string(c_str);
```
这将创建一个名为str的string对象,并将const char* c_str中的字符转换为string类型,并将其存储在str中。
相关问题
const char*转string
将const char*转换为string可以使用string的构造函数,例如:
const char* cstr = "hello world";
string str(cstr);
这将创建一个名为str的string对象,其值为“hello world”。
const char* 转 const string
在C++中,将`const char*`转换为`const std::string`是一个常见的操作。`std::string`是C++标准库中的一个类,用于表示和操作字符串。以下是几种实现这种转换的方法:
### 方法一:直接构造
你可以直接使用`std::string`的构造函数来创建一个新的`std::string`对象。
```cpp
const char* cstr = "Hello, World!";
const std::string str(cstr);
```
### 方法二:赋值操作
你也可以先创建一个空的`std::string`对象,然后通过赋值操作进行转换。
```cpp
const char* cstr = "Hello, World!";
std::string str;
str = cstr;
```
### 方法三:使用`std::string`的静态成员函数
`std::string`类提供了一个静态成员函数`std::string::from_char_pointer`(在某些实现中可能不可用),可以用于从`const char*`创建`std::string`对象。
```cpp
const char* cstr = "Hello, World!";
std::string str = std::string::from_char_pointer(cstr); // 注意:某些编译器或标准库实现中可能不支持此方法
```
### 示例代码
下面是一个完整的示例代码,展示了上述三种方法:
```cpp
#include <iostream>
#include <string>
int main() {
const char* cstr = "Hello, World!";
// 方法一:直接构造
const std::string str1(cstr);
std::cout << "Method 1: " << str1 << std::endl;
// 方法二:赋值操作
std::string str2;
str2 = cstr;
std::cout << "Method 2: " << str2 << std::endl;
// 方法三:使用静态成员函数(如果可用)
// std::string str3 = std::string::from_char_pointer(cstr); // 注意:某些编译器或标准库实现中可能不支持此方法
// std::cout << "Method 3: " << str3 << std::endl;
return 0;
}
```
### 注意事项
- `const char*`指向的字符串必须是以空字符结尾的有效C风格字符串。
- 转换后的`std::string`对象会管理其内部存储的字符串数据,因此不需要手动释放内存。
希望这些信息对你有所帮助!
阅读全文