2013-04-10 46 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

相关问题