【发布时间】:2021-01-29 02:12:32
【问题描述】:
我是 c 的新手,我想检查一下我是否了解文件处理的功能是如何工作的,这是我的代码。我面临的问题是每个 x 中 fx 的评估成功存储在文件 pointinterpol.dat 上,但是当我想读取以将其内容存储在两个数组上并打印它们时,我得到了 x,y 数组的所有元素零。不知道怎么回事?
int main(void)
{
int i = 0;
float xe;
float x[8], y[8];
float fx = 1 / (1 + 25 * xe * xe);
FILE* fptr = NULL;
FILE* fread;
fptr = fopen("pointinterpol.dat", "w");
xe = -1;
while (i++ < 8)
{
fprintf(fptr, "%.3f %.3f\n", xe, 1 / (1 + 25 * xe * xe));
xe += 0.25;
}
i = 0;
fread = fopen("pointinterpol.dat", "r");
while (fscanf(fread, "%f %f", &x[i], &y[i]) == 2)
{
i++;
}
i = 0;
while (i < 8)
{
printf("\nx[%d] = %.2f *** y[%d] = %.2f\n", i, x[i], i, y[i]);
i++;
}
flcose(fptr);
fclose(fread);
return 0;
}
【问题讨论】:
-
fclose()文件 之前fopen()第二次。就目前而言,代码打开了相同的文件以同时进行写入和读取。记得#include <stdio.h>! -
非常感谢,是的,我必须更加专注
标签: arrays c file-handling