c++ 中 转换string 为 char数组
时间: 2024-02-28 17:49:12 浏览: 38
在C++中,可以使用`strcpy`函数将`string`类型转换为`char`数组。具体实现方法如下所示:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string str = "Hello World!";
char char_array[str.length() + 1];
strcpy(char_array, str.c_str());
cout << "The char array is: " << char_array << endl;
return 0;
}
```
在上述代码中,首先定义了一个`string`类型的变量`str`,并将其初始化为`"Hello World!"`。然后,定义了一个`char`类型的数组`char_array`,其长度为`str.length() + 1`,即字符串长度加1。接着,使用`strcpy`函数将`str.c_str()`的值复制到`char_array`中。最后,输出`char_array`的值。
相关问题
C++将string转换为char数组
可以使用string类中的c_str()函数将string类型转换为char数组。
例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello World!";
char char_arr[str.size() + 1]; // 加1是为了给'\0'留出空间
strcpy(char_arr, str.c_str()); // 使用c_str()函数将string类型转换为char数组
cout << char_arr << endl;
return 0;
}
```
输出结果为:
```
Hello World!
```
需要注意的是,使用c_str()函数返回的指针指向的是一个临时的字符数组,其生命周期与string对象相同。因此,如果在char数组中需要长期保存string对象中的内容,需要将其复制到新的内存空间中。
C++ string转换char数组
您好!要将 C++ 的 string 转换为 char 数组,您可以使用 c_str() 函数。这个函数将返回一个以 null 结尾的 const char* 指针,指向 string 的底层字符数组。您可以将其赋值给一个 char 数组,如下所示:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
const char* charArray = str.c_str();
std::cout << "Converted char array: " << charArray << std::endl;
return 0;
}
```
在上面的示例中,我们首先创建了一个 string 对象 `str`,然后使用 `c_str()` 函数获取其底层的 const char* 指针 `charArray`。最后,我们将 `charArray` 打印出来,以验证转换是否成功。
希望这可以帮助到您!如果您有任何其他问题,请随时提问。