Problem beim einlesen großer dateien
-
Hi,
folgendes Problem...
length enthält bei Dateien von ca 100MB die anzahl an Bytes.
Bei großen Dateien ca. 4GB gibt Datei.tellg() als Rückgabe -1 zurück...
Gibt es da eine Beschränkung von der ich nichts weis oder was mache ich falsch?// Natürlich nur ein Code Ausschnitt Datei.open (dateiname.c_str(), ios::binary | ios::in); if(Datei.is_open()){ // File länge bekommen Datei.seekg (0, ios::end); length = Datei.tellg(); Datei.seekg (0, ios::beg); // Länge ausgeben cout << "Laenge: " << length << endl;
-
Ach mir isses vielleicht grade selbst eingefallen.
Ist das int einfach zu klein für die Zahl?
Was ist den der größte Integer typ den Visual studio / c++ kennt?
-
GetFileSize(Ex)
-
Mitbewohner schrieb:
Ist das int einfach zu klein für die Zahl?
int ist eine vorzeichenbehaftete Zahl, und sollte bei 32Bit Windows 32Bit groß sein (unter Vorbehalt: ich hab mit Windows nichts zu tun). Die Dateigröße von 4GB läßt sich damit nicht darstellen.
-
unsigned lng int
Is jetzt das größte was ich so gefunden habe...Kann geschlossen werden, danke an alle :xmas2:
-