用C++逐行读取文件成功后,将每行中的某些数据保存到另外一个数组,怎么实现?

我做了个大概,但老是string下标越界……好纠结啊
#include <string>
#include <iostream>
#include<stdlib.h>
#include <fstream>
#include<vector>

using namespace std;

int main()
{
string str;

int m=0,i,line;
ifstream fin;
fin.open("C:\\Users\\Administrator\\Desktop\\redwine.txt");
if (!fin)
{
cout<<"error "<<endl;
exit(1);
}
{while(1){
if(!fin.eof())
{
getline(fin,str);
vector <double>data(200);
for(m=0,i=1;str[i-1]!='\0';i++)
{
if((str[i-1]==' ')&&(sizeof(str[i])==4))
{ data[m]=str[i];
m++;}
if(m>=1)
{for(line=0;line<m;line++)
cout<<data[line]<<" ";
cout<< endl;}
}

}
}
};
cout<<endl;

return 0;
}

第1个回答  2015-06-17
 for(m=0,i=0;i<str.length();i++)

本回答被提问者采纳
相似回答