c++ 将一个字符串转换成 char数组
在 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 函数进行字符串的拷贝,这个函数没有进行越界检查,如果源字符串的长度超过了目标字符数组的长度,就会导致数组越界,因此需要特别注意
原文地址: https://www.cveoy.top/t/topic/eF5F 著作权归作者所有。请勿转载和采集!