Aus Datei lesen - Zeile ueberpringen
-
Hallo,
ich hab ein kleines Problem mit meinem Programm. ICh will Daten aus einer Datei zeilenweise auslesen. Die Datei kann Kommentarzeilen enthalten, die mit einem "%" anfangen. Diese will ich ueberspringen. Die anderen Zeilen will ich in einen Stringstream schreiben, um alle Objekte darauf zu lesen.
Leider ueberpringt der die Zeilen nicht. Kann mir bitte jemand sagen, was in dem Code falsch ist.
while(!ifstr.eof()){ getline(ifstr, line); // skip comment lines if(line.substr(0,0) == "%"){ continue; } istringstream tmp_ss(line); while(tmp_ss >> tmp_attendant){ attendantlist.push_back(tmp_attendant); } }
Mfg cpt.hawk
-
if (line.find("%") == 0) { continue; } // Oder anders rum if (line.find("%") != std::string::npos) { // Parse line... }
-
Hier wird auch Kommentar überlesen. Im Manipulator comment das '#' durch '%' ersetzen.
-
Danke mit den vorschlaegen laesst sich was machen.
-
Wenn du es fancy haben möchtest: boost::iostreams mit Kommentar-Filter
-
Warum so kompliziert?
while(!ifstr.eof()){ getline(ifstr, line); // skip comment lines if(line.length() == 0 || line[0] == '%'){ continue; } istringstream tmp_ss(line); while(tmp_ss >> tmp_attendant){ attendantlist.push_back(tmp_attendant); } }