ifstream die 2. - "teile" aus buffer rausholen
-
moin.
ich habe eine datei so wie hier geöffnet. nun möchte ich aber einzelne "teile" aus dieser datei (aus dem buffer) "herausholen" also sagen wir alles von position 5 bis 20. wie mach ich das?
-
Dann musst du 5 Zeichen überspringen und 15 lesen. Die 5 davor kannst du dann aber nicht mehr rausholen.
Ist dir das Stream-Konzept vertraut?
-
Ist dir das Stream-Konzept vertraut?
nein, aber ich google mal danach. (erklärung wär natürlich auch nett)
-
Der Punkt ist, dass du kein random acces hast, sondern Byte für Byte nacheinander ausliest. Du kannst aber z.B. 20 Bytes in einen Buffer lesen und auf dem beliebig arbeiten.
-
is.seekg (5, ios::beg); // Wir zeigen jetzt aufs 6 Zeichen (5 Zeichen übersprungen) // wir wollen 15 Zeichen lesen also: char temp[15] = {0}; is.read(temp,15); std::string read_data(&temp[0],&temp[14]); // Die
-
danke für eure hilfe, aber
is.seekg (5, ios::beg);
geht leider nicht, weil mein is schon "zu" ist. (is.close;) ich möchte den kram aus dem buffer (char * buffer;) "rausholen".
-
na dann:
std::string teil_string(&char_string[5],&char_string[20]);