我是vc初学者,现在我想从文件中的数据保存在float数组中。例如:我创建了一个txt文件,在其中输入234.234  156.12  654.120156.123  784.15  651.96然后,我在数组中建立一个float型的数组,我应该如何才能将文件中的数据保存到这个数组中,我该如何做?请高手帮忙。

解决方案 »

  1.   

    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);
      

  2.   

    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为数据的总个数.
    }
      

  3.   

    可以在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);
      

  4.   

    保存的时候最好在最开始部分保存float数的个数,先读取这个个数,然后动态new一个数组。
    float * pFloat = new float[个数]。