在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;