C++ 如何 将string 转化为const char
时间: 2023-08-10 14:08:56 浏览: 116
可以使用string的c_str()函数将其转化为const char*类型。例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
const char* cstr = str.c_str();
std::cout << cstr << std::endl;
return 0;
}
```
输出结果为:
```
Hello, World!
```
相关问题
C++ string 转换为 const char*
可以通过 `c_str()` 方法将 C++ 的 `string` 转换为 `const char*` 类型,如下所示:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
const char* cstr = str.c_str();
std::cout << cstr << std::endl;
return 0;
}
```
在上面的示例中,`c_str()` 方法返回一个指向字符串中第一个字符的指针,可以将其赋值给 `const char*` 类型的变量 `cstr`,然后即可使用该变量来访问 `string` 对象中的字符序列。注意,使用 `c_str()` 方法返回的指针只有在 `string` 对象存在的情况下才有效,否则可能会导致未定义的行为。
C++将string转化为char
将string转换为char数组可以通过调用string对象的c_str()方法来实现。例如:
```cpp
string str = "hello world";
const char *cstr = str.c_str(); // 将string转化为const char *
char char_array[str.size() + 1]; // 定义一个char数组
strcpy(char_array, cstr); // 将cstr中的字符复制到char_array中
```
请注意,使用c_str()方法返回的char指针指向的是一个const char类型的字符串,因此如果要将其存储到char数组中,需要使用strcpy()等函数进行复制。同时,由于char数组中需要存储字符串结束符'\0',因此数组大小应该是string长度加1。
阅读全文