私は C++ をかなりよく知っており、別の設定で使用するために、C++ で作成したプログラムを C に変換するように言われました。これまでプレーン C でコードを書いたことがなく、問題が発生しています。次の関数は、.txt ファイルを読み取り、内部の値を double 配列に入力することになっていますが、配列を出力するたびに、すべての値は-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