我是vc初学者,现在我想从文件中的数据保存在float数组中。例如:
我创建了一个txt文件,在其中输入
234.234 156.12 654.120
156.123 784.15 651.96
然后,我在数组中建立一个float型的数组,我应该如何才能将文件中的
数据保存到这个数组中,我该如何做?
请高手帮忙。
FILE* f = fopen("c:\\data.txt", "r");
if(!f) return FALSE;
std::vector<float> af;
float ff;
while(fscanf(f, "%f", &ff) == 1)
af.push_back(ff);
FILE * fp;
double fArray[1000];
int iCount=0;
fp=fopen("XXX.txt","rt");
if(fp!=NULL)
{
do
{
fscanf(fp,"%lf",&fArray[iCount]);
iCount++;
}while (!feof(fp));
fclose(fp);
//执行到这里,fArray数组内就是文件里的数据了,
//iCount为数据的总个数.
}
可以在txt文件开头写一下总共有多少个数据,然后动态分配一下
FILE *fp = NULL;
float *fArray = NULL;
int nCount = 0;
fp = fopen("***.txt","rt");
if(fp == NULL)
return FALSE;
fscanf(fp,"%d",&nCount);
if(nCount < 1)
{
fclose(fp);
}
fArray = new float[nCount];
for(int i = 0;i<nCount;i++)
{
fscanf(fp,"%f",&fArray[i];
}
fclose(fp);
保存的时候最好在最开始部分保存float数的个数,先读取这个个数,然后动态new一个数组。
float * pFloat = new float[个数]。