2017-08-26 157 views
-3

我已经找到并阅读了一些类似的问题, ,但遗憾的是我无法找到解决方案。 我只是想将一个字符串转换为字符串中字母大小的字符数组。 例子:如何将一个字符串转换为一个字符数组中的字符大小的字符数组?

string test = "hello"; 

字符数组:

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

在Java中这将是非常容易的,但在C++中,它看起来很复杂。

+2

如果你的字符数组是一个'的std ::矢量'或类似的,你可以使用带迭代器对的构造函数重载。例如:'std :: vector testArr(test.begin(),test.end())' – WhiZTiM

+0

'std :: string'已经包含一个C风格的'char'数组。你可以使用'test.c_str()'得到一个指向它的指针。 –

+1

[C++将字符串转换为字符数组]的可能重复(https://stackoverflow.com/questions/13343013/c-convert-strings-to-char-arrays) – DMishra

回答

0

类字符串具有返回常量字符串的成员函数c_str()。所以简单地说:

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; 
    
+1

啊没关系,它的工作原理。谢谢! – Curbe

相关问题