Re: Einlesen aus Datei > 2GB

Michael Wenger <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hi Christian!

Christian Schneider schrieb am 02.06.2005 15:33 :
> ich habe ein kleines C++-Programm geschrieben, mit dem ich aus einer 
> Datei lesen und in dieser einige Änderungen vornehmen will. Ich benutze 
> ifstream. Nun will ifstream aber nicht mit Dateien ab einer Größe von 
> 2GB (weil der Position-Pointer nicht mehr schafft?).
> 
> Wie lese ich aus Dateien > 2GB bzw. schreibe in diesen? Bei C-Funktionen 
> wird scheinbar nur ein long zur Positionierung verwendet, also ist da 
> auch bei 2GB Schluss?

Das hängt extrem vom verwendeten Compiler ab. Ab g++ 3.4 sollte es mit 
C++ möglich sein. Auf [1] steht zumindest dies:
| Large File Support (files larger than 2 GB on 32-bit systems).

Für den gcc gibt es Compilerflags:
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

Gruß,
Michael

[1] http://gcc.gnu.org/gcc-3.4/changes.html


-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.