注册 登录
编程论坛 VC++/MFC

求大神帮忙,改了好久,没有解决。

zijian13 发布于 2017-04-21 10:17, 2295 次点击
本人编写了下面一段代码,为什么总是在循环到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;
}
1 回复
#2
liaohs2017-12-03 18:20
不要用中文做变量名。
不要用goto语句。
1