我正在尝试读取.dat文件的每一行并将其存储为浮点数。我正在使用fscanf。我的目标是将这些行存储到抽奖后。
var rec = function rec(a) {
console.log('f', a);
if (a == 0) return 1;
return rec(a - 1) * a;
};
f = rec;
rec = function(a) {
console.log('rec', a);
return a + 1;
}
console.log(f(10));
.dat文件:
#include <stdio.h>
int main(void)
{
char url[]="PREMIOS.dat", nome[20];
float premio[12];
FILE *arq;
arq = fopen(url, "r");
if (arq == NULL) {
printf("Error\n");
} else {
for(i = 0; i < 12; i++) {
while((fscanf(arq, "%f\n", &premio[i])) != EOF)
printf("%.2f\n", premio[i]);
}
}
fclose(arq);
return 0;
}
由于某些原因,此代码无法存储数字。我该如何读取这些数字作为浮动,存储以及之后的抽奖?
答案 0 :(得分:0)
while (fscanf(arq, "%f\n", &premio[i])) != EOF )
printf("%.2f\n", premio[i]);
将继续逐行读取文件,直到文件结尾。在这种情况下,每次premio
的索引0处的值都只会被覆盖。
相反,您应该尝试以下方法,
If ((fscanf(arq, "%f\n", &premio[i])) != EOF )
printf("%.2f\n", premio[i]);