robeldiebone
Grünschnabel
ifstream in vector schreiben
Ich möchte kurz mein Problem schildern:
Ich habe eine 80MB große *.log Datei, welche immense Wetterdaten beinhaltet. Ich programmiere mit dem Boarland C++ Builder (ist hier Standard in der Firma). Damit ich die einzelnen Zeilen der Datei einlese verwende ich einfache ifstream und getline Komponenten:
Das Problem an der Sache ist, die Datei ist wie schon gesagt 80MB und beinhaltet enorm viele Zeilen.
Und auf die Frage wieso ich keine TStrings nehme - es soll auch auf anderen PCs laufen, und compiliert werden. Das ganze Programm funktioniert mit AnsiStrings und TStrings ohne Probleme und die 80MB File wird in 2 Sekunden gebuffert und denn in einer weiteren ausgelesen und woanders in einem anderen Format gespeichert.
Aber ich will dies nun mit vectoren realisieren, stosse aber dort an Speichergrenzen, wenn ich meine Fehlermeldungen richtig interpretiere.
Habt ihr Lösungen?
Ich möchte kurz mein Problem schildern:
Ich habe eine 80MB große *.log Datei, welche immense Wetterdaten beinhaltet. Ich programmiere mit dem Boarland C++ Builder (ist hier Standard in der Firma). Damit ich die einzelnen Zeilen der Datei einlese verwende ich einfache ifstream und getline Komponenten:
Code:
// Standard CString definiert
typedef struct {
char String[255];
} sString;
ifstream infile;
sString FileNameIn;
infile.open(FileNameIn);
// Mein Vector
sString Buffer;
vector<sString> FileContent;
while(!infile.eof())
{
infile.getline(Buffer.String,sizeof(Buffer.String));
FileContent.push_back(Buffer);
}
infile.close();
Das Problem an der Sache ist, die Datei ist wie schon gesagt 80MB und beinhaltet enorm viele Zeilen.
Und auf die Frage wieso ich keine TStrings nehme - es soll auch auf anderen PCs laufen, und compiliert werden. Das ganze Programm funktioniert mit AnsiStrings und TStrings ohne Probleme und die 80MB File wird in 2 Sekunden gebuffert und denn in einer weiteren ausgelesen und woanders in einem anderen Format gespeichert.
Aber ich will dies nun mit vectoren realisieren, stosse aber dort an Speichergrenzen, wenn ich meine Fehlermeldungen richtig interpretiere.
Habt ihr Lösungen?
Zuletzt bearbeitet: