Ich lese eine Zeichenfolge aus einer Datei. Nach dem zweiten oder dritten Mal, wenn die Funktion ausgeführt wird, werden ein oder mehrere zufällige Zeichen an die Pufferzeichenfolge angehängt und ich habe keine Ahnung, warum dies geschieht.Lesen von Datei fehlschlägt
Hier ist das Stück Code:
scorefile = fopen("highscore.dat", "rb");
if (scorefile)
{
fseek(scorefile, 0, SEEK_END);
length = ftell(scorefile);
fseek(scorefile, 0, SEEK_SET);
buffer = malloc(length);
if (buffer)
{
fread(buffer, 1, length, scorefile);
}
fclose(scorefile);
}
Bin ich hier etwas falsch zu machen?
Wie über einige Debug und/oder Umsetzung proper [Fehlerbehandlung] tun (http://stackoverflow.com/questions/21267716/error- Handling-in-Datei-Öffnung)? –
"printf" du die Ergebnisse von 'hiscore.dat'? –
Meine Kristallkugel denkt, dass Sie "Puffer" als Null-terminierte Zeichenfolge behandeln, was nicht der Fall ist (es sei denn, Ihre Datei hat am Ende eine Null). – molbdnilo