我必须通过向量循环得到结果作为条件,然后对该结果执行任务。
do{result}
我的数据是连续的入站json数据,它以7为一组的json属性被剥离。 我需要验证项目[2],然后将项目[3]发送到另一个矢量。
我的条件是
(for(int b = 2; b < buydat.size(); b+=7);
buydat[b] == "Buy")
我的行动是
do{
pricedat.push_back(buydat[3]);
}
我的结果可以显示为
for(int d = 0; d < pricedat.size(); ++d){
cout << pricedat[d] << " " << endl;
}
我的代码:
vector<std::string> buydat;
vector<std::string> pricedat;
for(int b = 2; b < buydat.size(); b+=7){
do{
pricedat.push_back(buydat[3]);
}
while(
//(int b = 2; b < buydat.size(); b+=7;)
buydat[b] == "Buy"
);
}
我的错误:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
如何将for循环结果作为条件? 通过数据循环7次 - &gt;验证项目[2] - &gt;将该系列中的项目[3]发送到矢量。
答案 0 :(得分:0)
从评论中代码应该是:
vector<std::string> buydat;
vector<std::string> pricedat;
for(int b = 2; b < buydat.size(); b+=7){
if ( buydat[b] == "Buy" ) {
pricedat.push_back(buydat[b+1]);
}
}
您的原始代码具有无限循环,并且还使用了错误的索引到buydat数组。