Hi
ich benötige eine Routine, die es mir ermöglicht Files mit enormer Größe (bis zu 40GB) zu lesen. Kann man das mit den Standardfunktionen von C/C++ machen? Am liebsten würde ich es mit der Klasse "fstream" machen.
Ohne mich in den Implementierungs-Details auszukennen, vermute ich, dass die Groesse der Datei fuer die IO-Klassen vollkommen egal ist. Das Schreiben bzw. Lesen erfolgt schrittweise (ja nach Groesse des Buffers) und ob dieser Schritt nun hundert mal oder eine Millionen mal ausgefuehrt wird, ist der Klasse hoechstwahrscheinlich egal. Die Grenze liegt eher seitens des Betriebssystems. Naemlich ob dieses so grosse Dateien auf der Platte verwalten kann und ob so viel Arbeitsspeicher zur Verfuegung steht. 40Gb Arbeitsspeicher werden wohl nur auf ganz wenigen Rechnern zur Verfuegung stehen und meistens ist dann auch noch die Menge, die ein User bzw. ein Prozess erhaelt, begrenzt. Eine Auslagerungsdatei wird da nicht viel bringen. Wenn man 40GB von einer Stelle der Festplatte liesst und davon 39GB auf eine andere Stelle auslagert, dann knallt Dir wahrscheinlich die Sicherung durch (-; Letztere Problem faellt weg, wenn Du die Datei nicht auf einen Schlag einliesst, sondern wie es kommt verarbeitest. Probier es doch einfach aus. Mach Dir eine Datei entsprechender Groesse (z.B. mit einem Shell-Script) und dann liess ein. Das zu testen ist eigentlich eine sache von Minuten. Bye -- 1 Bodo Kaelberer 123 http://www.webkind.de/ 3 4 Politik ist, wenn viele sich streiten und keiner sich freut.