繁体   English   中英

从.dat文件中读取数字,其中数字按列排列到C中的数组中

[英]Reading Numbers from a .dat file with numbers arranged columnwise into an array in C

#include<stdio.h>
#include<stdlib.h>

int main()
{
     int block[100];
     int i = 0;

     FILE *fp;

     fp = fopen("blockage.dat","r");

     if (fp != NULL){
     while( !feof(fp) )
     {
         fscanf(fp,"%d",&block[i++]);
     }
     }
     fclose(fp);

     return 0;

}

我的blockage.dat文件如下所示:

3.712e+05
4.265e+05
5.345e+05
....

数字按行排列。 所以我的C程序陷入了第一个循环本身。 我该如何排序? 如何确保转到下一行?

i在您的程序中声明的位置?

将i设为0。

int i = 0;

该文件包含浮动类型数据。 所以你的数组应该是

float block[100];

然后做

while((fscanf(fp,"%f",&block[i++])) != EOF);

根据所读取的值,可以使用doublelong double类型声明数组。

这个问题与安排无关。 您正在尝试将浮点数读取为整数变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM