2017-08-26 155 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

相關問題