c++将string转换成char*
时间: 2023-11-26 17:04:30 浏览: 65
可以通过string的成员函数c_str()来获取一个指向以空字符结尾的字符数组的指针,即char*类型的指针。
示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello world";
char *cstr = &str[0];
cout << "cstr: " << cstr << endl;
return 0;
}
```
输出结果:
```
cstr: hello world
```
需要注意的是,将string转换为char*类型时,需要确保string不为空,否则指针可能会指向无效内存地址。
相关问题
c++如何将string转换成char*
可以使用string的c_str()函数将string转换为char*。
例如:
```c++
string str = "hello";
char* cstr = &str[0];
```
或者:
```c++
string str = "world";
const char* cstr = str.c_str();
```
需要注意的是,如果使用第一种方法,需要确保string不为空,否则会出现未定义的行为。
c++将std::string转换成char*
可以通过`std::string`的`c_str()`函数来获取一个指向`char`类型的指针,示例如下:
```c++
std::string str = "Hello, World!";
const char* charPtr = str.c_str();
```
需要注意的是,由于`c_str()`返回的指针指向的是`std::string`内部的字符数组,因此需要保证`std::string`对象的生命周期与使用该指针的代码段重叠,否则可能会导致指针指向无效的内存区域。