首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个数组读取的有关问题!求指点

2013-04-09 
一个数组读取的问题!求指点!string abcp1a8345,222|2114,123|324,3213|int weizhi 0int count 0

一个数组读取的问题!求指点!
                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是个非法的值,因为之前从没给赋值过,所以才有错误

热点排行