Char* in Eingabestrom stecken

Hallo zusammen,
ich möchte gerne einen char* in einen Eingabestrom stecken, damit ich diesen wieder über die iostream-Methode getline() zerstückeln kann.

Kann mir jemand verraten, wie ich das hinkriege?

Konkret geht es mir dabei darum, dass ich eine csv-Datei mit einem definierten Trennzeichen, einlesen will und jedes Datum in eine eigene Variable soll.

Das getline aus dem Dateiauslesestrom liefert mir dazu schon mal die Zeilen:
while(datei.getline(line,sizeof(line))){
Doch steht dann in line ein char* und auf diesen char* will ich eben wieder mein getline anwenden mit dem Trennzeichen als dritten Parameter.
while(line.getline(data,sizeof(line),’#’)){

Naja…jedenfalls müsste ich eben den char* erst mal in einen Eingabestrom packen… ;(

Danke für Eure Hilfe schonmal…

Gruß Mike

PS: Wer eine andere Methode kennt um csv-Dateien schnell und bequem abzuarbeiten, der soll nicht schweigen… :wink:

Hi Mike,

kurz gesagt: Du willst Stringstreams aus der STL verwenden. Das sind String-Buffer, die sich wie Streams verhalten. Aus dem Gedächnis:


string mystring = „blablabla“;
const char * charptr = x.c_str(); // Das ist dein (char *)

ostringstream sink(charptr);
string out;
sink >> out; // Oder was auch immer du daran basteln möchtest.

Mit den Dingern (Stringstreams) kann man übrigens auch das leidige Thema „Wie kriege ich die Character-Darstellung einer Zahl“ (mit allen Extras) erschlagen.

Chris