const char*转成string
时间: 2024-10-24 21:06:43 浏览: 21
VC++ string_format(const char* format, ...)
5星 · 资源好评率100%
在C++中,将`const char*`转换为`std::string`是相当直接的。`const char*`是一种类型,它代表一个指向字符的指针,这个字符通常是字符串。在C++中,`std::string`是用来处理字符串的类,它的内部实际上就是存储一个`const char*`类型的字符数组。
以下是如何进行转换的示例:
```cpp
#include <string>
int main() {
const char* cstr = "Hello, world!";
std::string str(cstr);
// 现在,str就是转换后的字符串了
// str的值是"Hello, world!"
return 0;
}
```
这段代码首先定义了一个指向字符的指针`cstr`,它指向字符串"Hello, world!"。然后,它创建了一个新的`std::string`对象`str`,该对象内部使用了一个新的字符数组,这个数组与`cstr`指向的内存区域共享数据。这样,我们就可以说`str`是`cstr`的一个副本,并且它们共享相同的内存区域。
注意:在C++中,字符串通常以空字符('\0')结束,这是区分字符串和字符数组的关键。因此,当你将一个字符串转换为`std::string`时,它会自动处理空字符。
阅读全文