Textdateien einlesen String als Seperator

Krikus

Mitglied
Hi,

wenn ich eine Textdatei einlese, wo z.B die einzelnen VAriablen durch , oder \t getrennt sind, verwende ich folgenden Code:

C++:
...
while(getline(textfile,line)){		
				vector<string> inhalt;
				istringstream iss(line);
				while(getline(iss,token,','))
				{
					inhalt.push_back(token);
				}
				iss.clear();
....

Wenn nun aber ein String z.B "sep" als Septerator verwendet wird, kann ich obige Methode nicht mehr verwenden.
Nun nehme ich folgendes:

C++:
....
   while( true ) {
         if( inFile.peek() == '*' || inFile.eof() ) break;
         getline( inFile, dummy );
         size_t firstMatch = dummy.find( " sep " );
         lastName = dummy.substr( 0, firstMatch );
         size_t secondMatch = dummy.find( " sep ", firstMatch + 1 );
         firstName = dummy.substr( firstMatch + 5, secondMatch - firstMatch - 5);
         id = dummy.substr( secondMatch + 5, string::npos );
.....

Gibt es eine schönere Möglichkeit Eine Textdatei einzulesen, wenn ein String als Seperator genutzt wird. Bei 3 Variablen geht es ja noch mit obiger Methode, aber wenn es mehr als 10 sind, ist es doch sehr umständlich.

Gruß

Krikus
 
Zurück