Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C++中,如何将字符串转换成字符数组大小的字符数组?_C++_Arrays_String_Char - Fatal编程技术网

在C++中,如何将字符串转换成字符数组大小的字符数组?

在C++中,如何将字符串转换成字符数组大小的字符数组?,c++,arrays,string,char,C++,Arrays,String,Char,我已经发现并阅读了一些类似的问题, 但遗憾的是,我没能从中找到解决办法。 我只想将一个字符串转换成字符串中字母大小的字符数组。 例如: 字符数组: testArr[0]: 'h'; testArr[1]: 'e'; testArr[2]: 'l'; testArr[3]: 'l'; testArr[4]: 'o'; 在java中,它很容易,但是C++中看起来很复杂。类字符串有一个返回常数字符串的成员函数cySTR。简单地说: std::string test = "hello"; char*

我已经发现并阅读了一些类似的问题, 但遗憾的是,我没能从中找到解决办法。 我只想将一个字符串转换成字符串中字母大小的字符数组。 例如:

字符数组:

testArr[0]: 'h';
testArr[1]: 'e';
testArr[2]: 'l';
testArr[3]: 'l';
testArr[4]: 'o';

在java中,它很容易,但是C++中看起来很复杂。

类字符串有一个返回常数字符串的成员函数cySTR。简单地说:

std::string test = "hello";

char* cstrTest = new char[test.length() + 1];
strcpy(cstrTest, test.c_str());

std::cout << cstrTest << std::endl;

delete[] cstrTest;
如果只想在不更改常量的情况下更改常量字符串,只需执行以下操作:

const char* cTest = test.c_str();
cout << cTest << endl;

如果您的字符数组是std::vector或类似的,则可以使用接受迭代器对的构造函数重载。示例:std::vector testArrtest.begin,test.End std::string已包含C样式的字符数组。您可以使用test.c_str获取指向它的指针。您为什么需要这样一个数组的可能重复项?没有重复项。因为我需要一封信。
const char* cTest = test.c_str();
cout << cTest << endl;