Effizientes Einlesen v. Binärdaten in Struktur(en)
Verfasst: Sa Nov 06, 2021 5:13 pm
Hallo zusammen,
ich habe heute lange versucht, eine effiziente Möglichkeit zu finden, Daten aus einer Binärdatei in eine Struktur (hier: std::vector< std::vector< std::vector<uint8_t> > > ) einzulesen.
Ich bin damit gescheitert und lese nun Byte für Byte die Datei ein und fummel mir die Struktur wie folgt zusammen:
Darum meine Frage in die Runde:
Wer kennt eine effiziente Möglichkeit, die Struktur entsprechend aus den Daten der Datei anzulegen?
Ich hätte ehrlich gesagt erwartet, dass es eine Möglichkeit gibt, in C++ die einzulesende Struktur parametriert zu definieren und dann mit einem Befehl die Informationen in das RAM zu jagen (z.B. über DMA).
Die definierte Struktur würde sich dann wie eine Schablone auf die Daten legen.
Wer mag helfen?
Viele Grüße,
Lev
ich habe heute lange versucht, eine effiziente Möglichkeit zu finden, Daten aus einer Binärdatei in eine Struktur (hier: std::vector< std::vector< std::vector<uint8_t> > > ) einzulesen.
Ich bin damit gescheitert und lese nun Byte für Byte die Datei ein und fummel mir die Struktur wie folgt zusammen:
Code: Alles auswählen
data.clear();
std::cout << "Loading. " << std::endl;
for( uint32_t z=0; z<dimZ; z++ ) {
std::vector< std::vector<uint8_t> > tmpY;
for( uint32_t y=0; y<dimY; y++ ) {
std::vector<uint8_t> tmpX;
for( uint32_t x=0; x<dimX; x++ ) {
uint8_t tmpData = 0;
if( format == "uint8_t" ) {
// Daten aus der Datei in den Vector schreiben.
tmpData = testFile.get();
tmpX.push_back(tmpData);
}
}
tmpY.push_back( tmpX );
tmpX.clear();
}
data.push_back( tmpY );
tmpY.clear();
}
}
Wer kennt eine effiziente Möglichkeit, die Struktur entsprechend aus den Daten der Datei anzulegen?
Ich hätte ehrlich gesagt erwartet, dass es eine Möglichkeit gibt, in C++ die einzulesende Struktur parametriert zu definieren und dann mit einem Befehl die Informationen in das RAM zu jagen (z.B. über DMA).
Die definierte Struktur würde sich dann wie eine Schablone auf die Daten legen.
Wer mag helfen?
Viele Grüße,
Lev