用C++逐行读取文件成功后,将每行中的某些数据保存到另外一个数组,怎么实现?
我做了个大概,但老是string下标越界……好纠结啊#include<string>#include<iostream>#include<stdlib.h>#includ...
我做了个大概,但老是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;
} 展开
#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个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询