求大神帮忙,改了好久,没有解决。
本人编写了下面一段代码,为什么总是在循环到8时会死掉。我是在VS2012编辑器上使用的。#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string filename,str,shfile;
vector<string> svec;
cout <<"输入总数据文件名称"<<endl;
cin >> filename;
ifstream infile(filename.c_str());
if(!infile) return -1;
while(getline(infile,str))
{
svec.push_back(str);
}
infile.close();
for(int a(1);a<=33;++a)
{
shfile ="全"+to_string(a)+"下出数";
ofstream outfile10下(shfile.c_str());
vector<string>::iterator ite=svec.begin();
outfile10下 << *ite << endl;
outfile10下.clear();
begin:
while(ite!=svec.end())
{
istringstream isstream(ite->c_str());
int 位1,位2,位3,位4,位5,位6,位7;
isstream >> 位1;
isstream >> 位2;
isstream >> 位3;
isstream >> 位4;
isstream >> 位5;
isstream >> 位6;
isstream >> 位7;
bool 条件=(位7==a||位2==a||位3==a||位4==a||位5==a||位6==a);
if(条件)
{
++ite;
outfile10下 << *ite << endl;
outfile10下.clear();
goto begin;
}
isstream.clear();
++ite;
}
}
system("pause");
return 0;
}