我有一個字符串「ABCDEFG」我想打一個數組,應該是這樣的:以字母串,並將它們放置到一個數組
array[0] = "A"
array[1] = "B"
array[2] = "C"
etc.
我是否有記號化原字符串,還是有某種內置的方式來做到這一點?
謝謝!
我有一個字符串「ABCDEFG」我想打一個數組,應該是這樣的:以字母串,並將它們放置到一個數組
array[0] = "A"
array[1] = "B"
array[2] = "C"
etc.
我是否有記號化原字符串,還是有某種內置的方式來做到這一點?
謝謝!
如果你想字符串數組,你可以用一個循環做到這一點:
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
原始的字符串,使用substr
(demo):
for (int i = 0 ; i != str.size() ; i++) {
letters[i] = str.substr(i, 1);
}
爲了靈活性,寧願在這裏看到'strlen()' – 2013-04-10 16:50:35
我認爲這很接近,但是我的字符串不是char字符串,而是一個std字符串,this使用我所擁有的會導致重載錯誤。 – 2013-04-10 17:24:17
你想一個字符串數組,像你證明?無論哪種方式,你可以循環在原始字符串中的每個字符 - 是原始字符串的一個'char *'或一個'std :: string'? – 2013-04-10 16:46:34
我想我誤解了。你有什麼形式的字符串? – 2013-04-10 16:48:47
原始字符串是std :: string – 2013-04-10 17:23:27