Windows stürzt ab bei auslesen von Datei
-
Habe ein recht umfangreiches Projekt und möchte dort die Möglichkeit einbauen, eine Scriptdatei einlesen zu lassen. Also wollte ich es so machen, wie die Ini-Dateien eingelesen werden. Allerdings stürzte das Programm dabei immer ab.
Nun hab ich eine zweite Variante mit fgets ausprobiert, mit dem gleichem Resultat. Kann mir jemand erklären warum das schiefläuft?
Quelltext schrieb:
FILE *fp;
int iLine=0;// Script-Datei öffnen
fp = fopen("vernissage.ver", "r");while (feof(fp) == 0) // Bis zum Ende der Datei jede Zeile abscannen
{
int i = 0;
int j = 0;char* sBuffer = "";
char* sBuffer2 = "";fgets(sBuffer, 256, fp);
ERRORMSG("","Zeile Geladen");...
} // ~while (!sFile.eof())// Datei wieder schließen
fclose(fp);ERRORMSG ist in diesem Fall ein Makro, welches einfach eine MessageBox ausgibt.
Setze ich ERRORMSG vor das fgets, so gibt er noch die Meldung aus und stürzt danach erst ab. Der Fehler muss also in der fgets Anweisung liegen. Jemand eine Ahnung?hier noch die einzulesende Datei:
vernissage.ver schrieb:
autoRotation = 100;
wait;
system = 12;
-
char* sBuffer = "";
char* sBuffer2 = "";du allozierst kein Speicherplatz ...
char sBuffer[256]; // schon eher

-
geht leider auch nicht

auch char sBuffer = new char[256];* bringt nix.
Hab auch schon getestet ob die Datei wirklich geöffnet wird, oder fp nen Nullzeiger ist. Aber sie wird wirklich geöffnet.
-
Irgendwie liegts gar nicht am Laden der datei sondern da ist was ganz im Argen.
Selbst wenn ioch die ganze Routine auskommentiere, hängt er sich bei char sBuffer = new char[256];* auf. Ebenso gibts einen absturz wenn ich stattdessen eine Struktur initialisieren will. ([i]g_comVernissage = new command[10];)
Jemand ne Ahnung was da los ist? Speicher voll kann ja kaum sein