On Mon, Jan 14, 2002 at 09:46:28PM +0100, Steffen Liebergeld wrote:
double getRAM(FILE * ptr) { char RAM[8]; //<---hier steckt das Problem fseek(ptr, 166, 0); for (int i = 0; i <= 8; i++) { RAM[i] = fgetc(ptr); } return strtod(RAM,NULL); }
Wird vielleicht das Array schon vor der Rückgabe gelöscht (vor return ...)?
Ich bin immer noch der Meinung, daß Du ein Zeichen zu viel einliest. Ich halte folgendes für etwas günstiger:
char RAM[8]; // außerdem, Großbuchstaben sind ziemlich // unüblich für sowas // Du hast 8 Zeichen, also RAM[0] .. RAM[7].
// for (int i = 0; i < 8); ++i) { for (int i = 0; i < sizeof(RAM); ++i) { RAM[i] = fgetc(ptr); }
Nicht wegen des "sizeof()", das ist nur Kosmetik und Hilfe bei späteren Änderungen, aber relativ wichtig kommt mir das "<" an Stelle des "<=" vor. Eben "*Fast* getroffen ist auch daneben.".
Heiko