Ich kenne C++ ziemlich gut und wurde angewiesen, ein Programm, das ich in C++ geschrieben habe, in C zu übersetzen, damit es in einer anderen Einstellung verwendet werden kann. Ich habe vorher noch nie Code in C geschrieben und stoße in Schwierigkeiten. Die folgende Funktion soll eine TXT-Datei lesen und die Werte innerhalb eines Double-Arrays eingeben. Wenn ich jedoch das Array drucke, sind alle Werte: -92559631349317831000000000000000000000000000000000000000000000000000.00000
. Wenn ich jedoch einen Wert im Code vor dem Drucken manuell ändere, erhalte ich den richtigen Wert. Hier ist die Eingangsfunktion:C - Fehler beim Eingeben von Doppelpunkten in das Array
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);
}
}
Und hier ist die Eingabedatei:
12345
0.13717085
0.91813290
0.73543816
-0.67362091
111
-63
11000
'& AttPos [i]' sollte sein '& AttPos [j]'. Ist das ein Tippfehler? –
Wow, das war mein ganzes Problem. Ich habe versucht, das für ungefähr zwei Stunden herauszufinden. Danke vielmals. Ich brauche mehr Kaffee ... – user1328172