String aus Datei einlesen
-
Hallo,
ich habe eine Binärdatei, die Wörter enthält, die durch die binäre Null voneinander getrennt sind. Nun möchte ich diese Wörter, die alle unterschiedlich lang sind, in String-Objekte abspeichern, bzw. von der Datei in den Datentyp einlesen. Wie kann ich das machen?
Gruß,
Patrick
-
am besten mit 'std::getline' die ganze zeile einlesen und dann diese mittels 'std::substring' oder 'std::find' durchsuchen und unterteilen...
//in der Datei "File": Ein | ganz | toller | Text | //dein Programmausschnitt: string buffer; getline(File, buffer); int pos = buffer.find("|"); //find liefert beim finden die position zurück, ansonsten npos; if(pos != npos) for(int i = 0; i < pos; ++i) cout << buffer[i]; //gibt die ertsen 3 Zeichen aus also: "Ein "
hoffe, ich konnte dir helfen...
-
Konntest Du schon! Ich bin nur am überlegen, wann ich die read- und write Funktionen der i/ostream objekte verwende.
Danke trotzdem soweit! Gruß, Patrick
-
istream& get (streambuf& sb, char delim ); extracts characters from the stream and inserts them in stream buffer sb. Characters are extacted until either the delimiter (parameter delim or '\n' if not speciffied) is found, or if the end of file or any error occurs in the input or output sequences.
-
Was genau ist denn eine binäre Null in einem String? \0?