c++中怎么将文件数据读入二维数组

c++中如何将文件数据读入二维数组
txt文件格式如下:有n*n个数据
1   5.3   3.6   2.11   3.22   12.6、、、、、
2   52.3   21.3   3.6   9.5   6.32、、、、
3、、、、、、


n   12.3   3.9   2.3   1.3   1.2   6.5、、、
我要将数据读入一个float型n*n数组,如何做?

------解决方案--------------------
ifstream infile;
infile.open( "file.txt ");
if(!infile)
{
cout < < "cann 't open file " < <endl;
return -1;
}

int n=10;
float **A=new float*[n];
for(int i=0;i!=n;++i)
A[i]=new float[n];

for(int i=0;i!=n;++i)
for(int j=0;j!=n;++j)
infile> > A[i][j];

/.....


...../

for(int i=0;i!=n;++i)
delete [] A[i];
delete []A;
------解决方案--------------------
#include <cstdlib>
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
ifstream openf( "data.txt ");
float tmp[8][8]={0};
int i=0, j=0;

while(!openf.fail())
{
if(j==3)i++, j=0;
openf> > tmp[i][j++];
}
for(i=0; i <3; i++)
{
for(j=0; j <3; j++)cout < <tmp[i][j] < < "\t ";
cout < <endl;
}
system( "PAUSE ");
return 0;
}

/*
data.txt 文件数据:
1.0341 2.0641 3.0671
4.0861 5.2435 6.7544
7.2424 8.3353 9.3511
*/