c++中 string转char*
时间: 2023-10-23 16:12:03 浏览: 114
可以使用string的成员函数.c_str()来获取一个指向以空字符结尾的字符数组的指针,即char*类型的指针。
例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello world";
char* charPtr = const_cast<char*>(str.c_str());
cout << charPtr << endl;
return 0;
}
```
这里使用了const_cast来去除c_str返回值的const属性,因为char*类型的指针不具有const属性。
相关问题
C++ string转char*
可以使用`c_str()`函数将C++的`string`转换成`char*`,例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string my_str = "Hello, world!";
const char* my_cstr = my_str.c_str();
std::cout << my_cstr << std::endl;
return 0;
}
```
在上面的代码中,`my_str.c_str()`返回一个指向`my_str`存储的字符串的常量指针,可以将其赋值给`const char*`类型的变量。注意,返回的指针是常量指针,因此不能修改指向的字符串。
C++string转char*
可以使用string类的c_str()函数来将string类型转换为char*类型。
例如:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello world";
char* cstr = new char[str.length() + 1];
strcpy(cstr, str.c_str());
cout << cstr << endl;
delete[] cstr;
return 0;
}
```
其中,str.c_str()函数返回一个const char*类型的指针,指向string对象中的字符数组,然后使用strcpy函数将其复制到char*类型的cstr变量中。注意,为了避免内存泄漏,需要在使用完cstr后使用delete[]释放其占用的内存。
阅读全文
相关推荐















