显示expression :vector subscript out of range错误 求 大神知道
#include "StdAfx.h"
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include<vector>
#include <cstdlib>
#include <sstream>
using namespace std;
void splitdou(string s,vector<string>&ret)
{
size_t last= 0;
size_t index=s.find_first_of(',',last);
while (index!=std::string::npos)
{
ret.push_back(s.substr(last,index-last));
last=index+1;
index=s.find_first_of(',',last);
}
if (index-last>0)
{
ret.push_back(s.substr(last,index-last));
}
}
int main(){
ifstream in;
string line;
in.open("D:\\text\\traver.txt");
while(in>>line)
{
vector<string> str;
str=vector<string>();
splitdou(line,str);//用逗号隔开分离;
for(int j1=0;j1<str.size();j1++)//测试后期去掉;
{
cout<<str[j1]<<endl;
}
int traveller;
int flightnumber;
char departure[20];
char destination[20];
traveller=atoi(str[0].c_str());//注意字符转换;
flightnumber=atoi(str[5].c_str());//chu
strcpy(departure,str[6].c_str());
strcpy(destination,str[7].c_str());
//对str[i]计算结果;输出结果
//i++;
cout<<traveller<<endl;
cout<<flightnumber<<endl;
cout<<departure<<endl;
cout<<destination<<endl;
}
}