C++如何从TXT文件中一行一行的读取数据并且保存到数组中

C++怎么从TXT文件中一行一行的读取数据并且保存到数组中
Data.txt 内包含的数据格式为:      
(12.03,515.04,117.9,52.79,13.58)
(18.03,415.04,217.9,42.79,23.58)
(11.03,315.04,317.9,32.79,33.58)
(1.03,215.04,417.9,22.79,43.58)
(32.03,115.04,517.9,12.79,53.58)
.
.
.
.

数据格式是固定的就是括号里面5个float,具体有多少行不固定

怎么从这个txt文件中一行一行的读取,并将数据保存到数组中 比如: char  cStr[5];
cStr[0] =(12.03,515.04,117.9,52.79,13.58);
cStr[1] =(18.03,415.04,217.9,42.79,23.58);
cStr[2] = (11.03,315.04,317.9,32.79,33.58);
cStr[3] =(1.03,215.04,417.9,22.79,43.58);
cStr[4] =(32.03,115.04,517.9,12.79,53.58);

求大神帮忙指导下,求详细点的C++代码,小弟万分感谢!!!!

------解决方案--------------------
干这种活,C更擅长。
没实际编译链接调试,不保证对,仅供参考:
#include <stdio.h>
#define MAXDATA 1000
double D[MAXDATA][5];
char ln[80];
FILE *f;
int i,n;
int main() {
    f=fopen("Data.txt","r");
    if (NULL==f) {
        printf("Can not open file Data.txt!\n");
        return 1;
    }
    i=0;
    while (1) {
        if (NULL==fgets(ln,80,f)) break;
        if (5==sscanf(ln,"(%lf,%lf,%lf,%lf,%lf",&D[i][0],&D[i][1],&D[i][2],&D[i][3],&D[i][4])
         
------解决方案--------------------
 5==sscanf(ln,"(%lf,%lf,%lf,%lf,%lf",&D[i][0],&D[i][1],&D[i][2],&D[i][3],&D[i][4])) {
        } else {
            printf("Ignore format error at line %d:%s",i+1,ln);
        }
        i++;
        if (i>=MAXDATA) {
            printf("Too many data(>%d lines), ignore it.\n",MAXDATA);
            break;
        }
    }
    fclose(f);
    n=i;
    for (i=0;i<n;i++) {
        printf("%04d (%5.2lf,%6.2lf,%5.1lf,%5.2lf,%5.2lf)\n",i+1,D[i][0],D[i][1],D[i][2],D[i][3],D[i][4]);
    }
    return 0;
}


------解决方案--------------------
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <vector>
using namespace std;

vector<vector<double> > buffer;
vector<vector<double> >::iterator i;
vector<double>::iterator j;

int main()
{
ifstream file("Data.txt");
double tmp_d;
char tmp_c;

string tmp;
stringstream ss;

    while (file >> tmp ) {
ss<<tmp;
vector<double> v;
for(int i=0;i<5;++i)
{
ss>>tmp_c>>tmp_d;
v.push_back(tmp_d);
}
ss.get();
buffer.push_back(v);
    }

for(i=buffer.begin();i!=buffer.end();++i)
{
for(j=i->begin();j!=i->end();++j)
{
cout<<setfill('0')<<setw(5)<<*j<<"\t";
}
cout<<endl;
}

return 0;
}