我对 C++ 相当了解,并被告知将我用 C++ 编写的程序翻译成 C,以便在不同的环境中使用。我以前从未用纯 C 语言编写过代码,现在遇到了一些麻烦。以下函数应该读取 .txt 文件并将其中的值输入到双精度数组中,但是每当我打印数组时,所有值都是:-92559631349317831000000000000000000000000000000000000000000000000000.00000
. 但是,如果我在打印之前手动更改代码中的值,我会得到正确的值。这是输入函数:
void FileRead(double *AttPos)
{
int j = 0;
FILE *in_file;
in_file = fopen("DragonData.txt", "r");
if (in_file == NULL)
{
exit(1);
}
else
{
for(j; j<8; j++)
{
fscanf(in_file, "%lf", &AttPos[i]);
}
fclose(in_file);
}
}
这是输入文件:
12345
0.13717085
0.91813290
0.73543816
-0.67362091
111
-63
11000