/***
数据提取
***/
#include
#include
#include
using namespace std;
int main()
{
system("color 1e");
string goal,text[200];
int i(0),i1(0),i3(1),i4(-1);
double i2[200];
cout<<"请将要提取数字的文件拖到此处:"< cin>>goal; ifstream f(goal.c_str()); text[0]="不为空"; while(!text[i].empty()) { i++; f>>text[i]; } f.close(); /***根据你数据文件特点这段代码足以完成***///代码段1 for(int j=1;j
{ for(int r=0;r if(text[j][r]>='0'&&text[j][r]<='9') { i2[i1]=atoi(text[j].substr(r,text[j].length()-r).c_str()); i1++; break; } } /*该段更具普适性代码段2 for(int j=1;j
{ for(int r=0;r { if(text[j][r]>='0'&&text[j][r]<='9'||text[j][r]=='.') { if(i4==-1) i4=r; if((text[j][r]>='0'&&text[j][r]<='9'||text[j][r+1]=='.')&&r==text[j].length()-1) { i2[i1]=atof(text[j].substr(i4,i3).c_str()); i3=1; i1++; i4=-1; continue; } if(text[j][r+1]>='0'&&text[j][r+1]<='9'||text[j][r+1]=='.') i3++; } else if(i4!=-1) { i2[i1]=atof(text[j].substr(i4,i3).c_str()); i3=1; i1++; i4=-1; } } } 自己调试*************/ cout<<"从文件中提取出来的数据为:"< for(int j1=0;j1 cout< return 0; } /***对于你所给数据文件的特点其实代码段1可以很好解决,程序中注释掉的代码段2为普通情况下的方法,可以直接替换代码段1且更具普适性,功能更强大***/