题目:读取字符数组 char buf[100] = char buf[100] = "xxxxx:yyyyy:zzzzz:aaaa:bbbb"; 按 : 分解到string数组中去。
自己实现总觉得哪里不得劲,尤其是获取:个数和给string数组赋值这两处。走过路过帮忙指点一二,谢谢。
自己实现的代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
char buf[100] = "xxxxx:yyyyy:zzzzz:aaaa:bbbb";
string s = buf;
int countStr = 1;
for(int i=0; i<100;i++)
{
if(buf[i] == ':')
{
countStr++;
}
}
string *arrStr = new string[countStr];
for(int i=0; i<countStr; i++)
{
arrStr[i] = s.substr(0,s.find_first_of(':'));
s=s.substr(s.find_first_of(':')+1);
}
arrStr[countStr-1] = s;
for(int i=0; i<countStr; i++)
{
cout<<arrStr[i]<<endl;
}
delete[] arrStr;
return 0;
}