在 C++ 中,字符串的底层实现是一个字符数组,因此将一个字符串转换成 char 数组可以通过以下代码实现:

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    string str = "Hello, world!";
    char arr[str.size() + 1];
    strcpy(arr, str.c_str());
    cout << arr << endl;
    return 0;
}

上面的代码中,我们首先定义了一个字符串 str,然后声明了一个字符数组 arr,长度为字符串长度加一,这个加一是为了留一个位置存储字符串的结束符 \0

接着,我们调用 strcpy 函数将字符串拷贝到字符数组中。这里需要用到 string 类的成员函数 c_str(),它返回一个指向以空字符结尾的字符数组的指针,这个字符数组就是字符串在内存中的表示方式。

最后,我们输出字符数组 arr,即可看到转换后的结果。

需要注意的是,上面的代码中使用了 strcpy 函数进行字符串的拷贝,这个函数没有进行越界检查,如果源字符串的长度超过了目标字符数组的长度,就会导致数组越界,因此需要特别注意

c++ 将一个字符串转换成 char数组

原文地址: https://www.cveoy.top/t/topic/eF5F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录