私はC++をよく知っていて、C++で書かれたプログラムを別の設定で使うためにCに翻訳するように言われました。前にC言語でコードを書くことは一度もありませんでした。次の関数は、.txtファイルを読み込んで二重配列に値を入力することになっていますが、配列を出力するたびにすべての値は-92559631349317831000000000000000000000000000000000000000000000000000.00000
です。しかし、印刷前にコード内の値を手動で変更すると、正しい値が得られます。ここで入力機能は次のとおりです。C - 問題の入力が配列に二倍になる
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
'&AttPos [i]'は '&AttPos [j]'でなければなりません。それはタイプミスですか? –
うわー、それは私の全部の問題でした。私はこれを約2時間にわたって把握しようとしています。どうもありがとう。私はもっとコーヒーが必要です... – user1328172