S
sw33tlull4by
Guest
Hallo!
Ich habe ein kleines Problem mit ein paar Pointern und den Speicherbereichen auf diie sie verweisen.
(echt beschaement, dachte ich koennte das von frueher her ein bischen besser X( )
Die Datei welche ich angehangen habe ich, hat die Aufgabe eine Eingabe einzulesen, ohne das die Gefahr eines Overflows besteht.
Diese Datei wird im restlichen Programm 2 mal aufgerufen.
Wenn ich einen String uebergebe der zu gross ist bekomme ich haue.
wenn der String klein genug ist, geht zwar alles gut aber ich bekomme die gleiche Fehlermeldung(siehe Anhang), wenn ich den Speicherbereich wieder mittels free() freigeben will.
Ohne geht es zwar gut aber dann habe ich Speicherlecks.
Und ich meine realloc richtig zu verwenden.
Ich habe es zeitweise auch so gemacht das ich nicht
datei = realloc(datei,sizeof(datei)*2);
sondern
swap = realloc(datei,sizeof(datei)*2);
free(datei);//hier geht es gut
datei = swap
getippt habe.
Aber das resultet ist das gleiche.
Wenn ich einen Pointer zurrueck gebe wird es auch nicht besser.
Vielleicht sieht einer von Euch meinen Fehler.
Danke im Vorraus .
mfg
sw33t
Ich habe ein kleines Problem mit ein paar Pointern und den Speicherbereichen auf diie sie verweisen.
(echt beschaement, dachte ich koennte das von frueher her ein bischen besser X( )
Die Datei welche ich angehangen habe ich, hat die Aufgabe eine Eingabe einzulesen, ohne das die Gefahr eines Overflows besteht.
Diese Datei wird im restlichen Programm 2 mal aufgerufen.
Wenn ich einen String uebergebe der zu gross ist bekomme ich haue.
wenn der String klein genug ist, geht zwar alles gut aber ich bekomme die gleiche Fehlermeldung(siehe Anhang), wenn ich den Speicherbereich wieder mittels free() freigeben will.
Ohne geht es zwar gut aber dann habe ich Speicherlecks.
Und ich meine realloc richtig zu verwenden.
Ich habe es zeitweise auch so gemacht das ich nicht
datei = realloc(datei,sizeof(datei)*2);
sondern
swap = realloc(datei,sizeof(datei)*2);
free(datei);//hier geht es gut
datei = swap
getippt habe.
Aber das resultet ist das gleiche.
Wenn ich einen Pointer zurrueck gebe wird es auch nicht besser.
Vielleicht sieht einer von Euch meinen Fehler.
Danke im Vorraus .
mfg
sw33t