26 lines
655 B
C++
26 lines
655 B
C++
// 功能:将filename 中的数据(共cols列)读取到_vector中,_vector可视为二维数组
|
||
#include <fstream>
|
||
#include <string>
|
||
#include <iostream>
|
||
#include <vector>
|
||
using namespace std;
|
||
|
||
int read_scanf(const string &filename,const int &cols,vector<double *> &_vector)
|
||
{
|
||
FILE *fp=fopen(filename.c_str(),"r");
|
||
bool flag=true;
|
||
int i=0;
|
||
if(!fp) { cout<<"File open error!\n"; return 0; }
|
||
while(flag)
|
||
{
|
||
double *ptr=new double[cols];
|
||
for(i=0;i<cols;i++)
|
||
{ //读取数据,存在_vector[cols]中
|
||
if(EOF==fscanf(fp,"%lf",&ptr[i])){flag=false;break;};
|
||
if(EOF==fgetc(fp)){flag=false;i++;break;}
|
||
}
|
||
if(cols==i) _vector.push_back(ptr);
|
||
}
|
||
fclose(fp);
|
||
return 1;
|
||
} |