Chris Lux
2002-12-04, 14:54:21
std::istream tIn; // unser stream der text enthaelt
std::string tLine; // unser string, der nun die zeilen halten soll
das problem ist in tIn stehen dateinamen, die auch ' '(space) enthalten duerfen. wenn man nun folgendes probiert hat man immer nur einen teil des dateinamens im string:
tIn >> tLine;
dazuz gibt es nun getline(..) :) das weiss ich. nur fuer getline muss man wieder die guten alten C char* benutzen. meine frage nun, wie sehen euere workarounds aus... denn ich find das hier sehr haesslich:
char* tTemp = new char[1024];
tIn.ignore(1); // weil ich nicht am anfang der zeile anfang zu lesen
tIn.getline(tTemp, 1024);
tLine = tTemp;
delete [] tTemp;
vor allem kann es ja passieren, dass die zeile mehr als 1024 (oder was man eben will) zeichen hat.
std::string tLine; // unser string, der nun die zeilen halten soll
das problem ist in tIn stehen dateinamen, die auch ' '(space) enthalten duerfen. wenn man nun folgendes probiert hat man immer nur einen teil des dateinamens im string:
tIn >> tLine;
dazuz gibt es nun getline(..) :) das weiss ich. nur fuer getline muss man wieder die guten alten C char* benutzen. meine frage nun, wie sehen euere workarounds aus... denn ich find das hier sehr haesslich:
char* tTemp = new char[1024];
tIn.ignore(1); // weil ich nicht am anfang der zeile anfang zu lesen
tIn.getline(tTemp, 1024);
tLine = tTemp;
delete [] tTemp;
vor allem kann es ja passieren, dass die zeile mehr als 1024 (oder was man eben will) zeichen hat.