我有一个字符串“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