一个数组读取的问题!求指点!
string abcp1a="8345,222|2114,123|324,3213|";
int weizhi = 0;
int count = 0;
string* ta1 = new string[];
int * ta2=new int[];
int j12=0,j13=0;
while (1)
{
weizhi = abcp1a.find(str1,weizhi);
weizhi++;
if (0 == weizhi)
break;
else
count++;
ta2[j12]=weizhi;
j12++;
}
ta1[1].append(abcp1a,0,6);--------这一步总是出错
for(j12=1;j12<count;j12++)
{
ta1[j12].append(abcp1a,ta2[0],ta2[1]);
cout<<"子串出现的次数是:"<<count<<"---"<<endl;
}
我想把这个abcp1a以|划分,写到数组里面,可我总是写不进去,求大神指点!
[解决办法]
唉,这种代码看都不想看。
[解决办法]
你的命名这样子不好哦,学规范一点吧,确实令人不想看
[解决办法]
string abcp1a="8345,222
[解决办法]
2114,123
[解决办法]
324,3213
[解决办法]
";
int weizhi = 0;
int nBegin = 0;
vector<string> arr; // 保存拆分结果
string s;
while (1)
{
weizhi = abcp1a.find("
[解决办法]
",nBegin);
if (weizhi == abcp1a.find_last_of("
[解决办法]
"))
{
s = abcp1a.substr(nBegin ,weizhi-nBegin);
if(!s.empty())
arr.push_back(s);
break;
}
s = abcp1a.substr(nBegin ,weizhi-nBegin);
if(!s.empty())
arr.push_back(s);
nBegin = weizhi+1;
}
// 显示一下看看
for (nBegin = 0; nBegin != arr.size(); ++nBegin)
{
cout << arr[nBegin] << endl;
}
[解决办法]
ta1[1].append(abcp1a,0,6);--------这一步总是出错
// 你在这行下个断点,然后你可以看到ta1是个非法的值,因为之前从没给赋值过,所以才有错误