C++ standard ifstream
-
Hallo Leute!
Brauche ungedingt Hilfe bei ifstream.
Wie kann ich erkennen wann eine Leerzeile aus der Datei eingelesen wurde?Beispiel:
string line; ifstream myfile (PATH); if (myfile.is_open()) { while (! myfile.eof() ) { getline (myfile,line); if(line.find("#",0) != string::npos) // hier fehlts noch { } } myfile.close(); }MfG
-
Lads in einen string und frag die länge ab..
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Es kommt drauf an, wie du Leerzeile definierst (nur ein Zeilenumbruch oder auch Zeile nur mit Leerzeichen und/oder Tabs)?
Erstes kannst du einfach mitif(line.empty())abfragen.
Bei zweitem kannst du mit find_first_not_of() abfragen, ob noch andere Zeichen enthalten sind:if(line.find_first_not_of(" \t") == string::npos)
-
Danke für die Antworten. Gibt es auch ne Funktion trim() oder sowas ähnliches?
MfG
-
Im Standard nicht - aber schreib sie dir doch selber:
void trim_left(string& data,const string& space=" \t") { size_t pos=data.find_first_not_of(space); data.erase(0,pos); } void trim_right(string& data,const string& space=" \t") { size_t pos=data.find_last_not_of(space); data.erase(pos); } void trim(string& data,const string& space=" \t") { trim_left(data,space); trim_right(data,space); }
-
Oder so:
http://www.boost.org/doc/html/string_algo/reference.html#header.boost.algorithm.string.trim.hpp