gpt4 book ai didi

c - 如何在 C 中将包含 float 字的文本文件读取到 float 组

转载 作者:行者123 更新时间:2023-11-30 16:56:13 25 4
gpt4 key购买 nike

我一直在尝试读取包含以下内容的文本文件:

0.000   1.800   3.240   4.374   5.249   5.905   6.377   7.696   6.887   6.974   6.974   6.904   6.778   6.609   6.406   6.177   5.930   5.670   5.403   5.133   4.863   4.596   4.333   5.077   3.829   4.589   3.360   3.140   2.931   2.732   2.543   2.365   2.198   2.040   1.891   1.752   1.622   1.500   1.387   1.281   1.182   1.091   2.006   0.927   0.853   0.786   0.723   0.665   0.611   0.561   0.515   0.473   0.434   0.398   0.365   0.335   0.307   0.281   0.257   0.236   0.216   1.197   0.180   0.165   0.151   0.138   0.126   0.115   0.105   0.096   0.088   0.080   0.073   0.067   0.061   1.055   0.051   0.046   0.042   0.038   0.035   0.032   0.029   0.026   0.024   0.022   0.020   0.018   0.017   0.015   0.014   0.012   0.011   0.010   0.009   0.009   0.008   0.007   1.006   0.006   0.005   0.005

这些数字的格式如上面文本文件中所示。

我的代码如下

#include <stdio.h> 

#include <stdlib.h>

void main()

{

FILE *file = fopen("Data.txt", "r");
float integers[102];

int i=0;
int num;
while(fscanf(file, "%f", &num) >0) {
integers[i] = num;
i++;
}
if( file == NULL )
{
printf("Error while opening the file.\n");

}
fclose(file);
for(i = 0;i <102; i++){
printf("integers[%d] = %f",i, integers[i]);
}


}

printf 的输出是运行时所有整数元素都为零。另外,当尝试调试时,我注意到编译器会跳过 while 循环。我正在使用 Code Composer Studios。

最佳答案

此方法作为示例:

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

int main() {
FILE * fp;
float fval[102];
int n, i;

fp = fopen("foo.txt", "w+");
if (fp == NULL) {
printf("failed to open file\n");
return 1;
}

fputs("0.000 1.800 3.240 4.374 5.249 5.905 6.377 7.696 ", fp);
rewind(fp);

n = 0;
while (fscanf(fp, "%f", &fval[n++]) != EOF)
;

/* n-1 float values were successfully read */
for (i=0; i<n-1; i++)
printf("fval[%d]=%f\n", i, fval[i]);

fclose(fp);
return 0;
}

我得到这个输出:

fval[0]=0.000000
fval[1]=1.800000
fval[2]=3.240000
fval[3]=4.374000
fval[4]=5.249000
fval[5]=5.905000
fval[6]=6.377000
fval[7]=7.696000

关于c - 如何在 C 中将包含 float 字的文本文件读取到 float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39990871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com