2013-04-10 45 views
1

我有一個字符串「ABCDEFG」我想打一個數組,應該是這樣的:以字母串,並將它們放置到一個數組

array[0] = "A" 
array[1] = "B" 
array[2] = "C" 
etc. 

我是否有記號化原字符串,還是有某種內置的方式來做到這一點?

謝謝!

+3

你想一個字符串數組,像你證明?無論哪種方式,你可以循環在原始字符串中的每個字符 - 是原始字符串的一個'char *'或一個'std :: string'? – 2013-04-10 16:46:34

+0

我想我誤解了。你有什麼形式的字符串? – 2013-04-10 16:48:47

+0

原始字符串是std :: string – 2013-04-10 17:23:27

回答

1

如果你想字符串數組,你可以用一個循環做到這一點:

const char *str = "ABCDEFG"; 
string letters[7]; 
for (int i = 0 ; i != strlen(str) ; i++) { 
    // The constructor below cuts out a single letter from the literal: 
    letters[i] = string(&str[i], &str[i+1]); 
} 

這裏是一個demo on ideone

對於std::string原始的字符串,使用substrdemo):

for (int i = 0 ; i != str.size() ; i++) { 
    letters[i] = str.substr(i, 1); 
} 
+0

爲了靈活性,寧願在這裏看到'strlen()' – 2013-04-10 16:50:35

+0

我認爲這很接近,但是我的字符串不是char字符串,而是一個std字符串,this使用我所擁有的會導致重載錯誤。 – 2013-04-10 17:24:17

相關問題