Array sortieren
-
Hoffen, dass der Arbeitsspeicher reicht?
Mit Ernst: Dann musst du dir ein Aufteilungsverfahren überlegen oder bereits beim Schreiben der Datei darauf achten, dass der Eintrag an die richtige Stelle kommt.
-
dass der Arbeitsspeicher reicht, hofft Microsoft bei seinen Produkten wohl auch
-
Ja oder dass noch genügend Festplattenspeicher für den virtuellen Speicher vorhanden ist
Außerdem ist es ja total unnötig reservierten Speicher wieder freizugeben, wenn man ihn nicht mehr braucht.
-
Jetzt steh ich nochmal vor nem anderen Problem:
da ich dei Dateilänge nicht kenne, bräucht ich eigentlich einen dynamischen Array.
Da ich C verwende dürfte sich das nur mit calloc umsetzen lassen.
Dabei habe ich aber wieder das Problem, dass ich den Speicher wieder freen müsste. Was ist aber z.B. wenn mir das Programm vor dem free abschmiert?was würdet ihr machen?
-
Wenn dir das Programm abschmiert, dann ist dir sowieso nicht zu helfen...
Oder suchst du etwas im Stile von atexit() -> zB atcrash() ??
-
nein, aber was ist, wenn der Benutzer das Programm killed, hm...hast du mal da dran gedacht!
-
Dann kannst du nur noch hoffen, dass das Betriebssystem ein schlaues ist.
Ansonsten ist der User selber schuld
-
Wenn ein Programm beendet wird löscht das OS sämtlichen belegten Speicher und gibt
ihn wieder frei. Egal wie du das Programm beendest. Und wenn es nen OS absturz ist,
ist der Speicher auch leer
-
jo, hast schon Recht..
vor allem in Linux ist die Speicherverwaltung ziemlich heftig, jaja is OT
-
da ich dei Dateilänge nicht kenne, bräucht ich eigentlich einen dynamischen Array.
wieso kennst du die dateilänge nicht?
diese kannst du doch recht einfach feststellenint filesize; fseek(fp, 0, SEEK_END); filesize = ftell(fp); fseek(fp, 0, SEEK_SET);