C/C++中怎么将字符数组转换成浮点数组

C/C++中如何将字符数组转换成浮点数组?
void _tmain(int argc, _TCHAR* argv[])
{
char q[128*16]={0};
string query;
cin>>query;
ifstream ifs(query,ios::in|ios::app);
//ifs.open(query,ios::in|ios::app);

ifs.getline(q,128*16);

for (int i=0;i<128*16;i++)
{
cout<<q[i];
//printf("%f",strtod(q,NULL));
}
ifs.close();
}
上面是一段从query.txt读取数据的程序,目前读出的是字符数组流,我想让它转换成浮点型数组,请问应该怎么写下面程序?

------解决思路----------------------
引用:
Quote: 引用:

for( ; ; ++i )
  fArr[i] = atof(strArr[i]);


这个方法我试过了,行不通!

肯定不是这样,应该是将整个strArr转换为float
1. 函数名: atof
功 能: 把字符串转换成浮点数
名字来源:ascii to floating point numbers 的缩写
用 法: double atof(const char *nptr);

你的函数都用错了。