newline (== '\n') beim Dateneinlesen abfragen
-
Hallo,
ich will eine Datei einlese und dabei die einzelnen Zeilen unterscheiden und NICHT getline benutzen will (Leerstellen etc. sollen nämlich überlesen werden).
bei mir sieht das so aus, was mir leider eine Endlosschleife erzeugt:
ifstream dataSeq1(pfad.c_str()); ... while (speicher != '\n'){ //bricht nie ab!! dataSeq1>>speicher; X+=speicher; }wie könnte ich das denn anders lösen (gibt es ne andere Möglichkeit, "\n" abzufragen?!?
thx
-
Es stellen sich mir da ein paar Fragen...
Warum kann man keine Leer- und Sonderzeichen ignorieren wenn man Zeilenweise arbeitet?
Ist es ausreichend nach dem Zeilenumbruch zu Suchen um das Einlesen abzubrechen?
(Die letzte Zeile einer Datei hat üblicherweise keinen Zeilenumbruch)
-
ich muss jede Zeile einzeln betrachten und will leerzeichen und sonderzeichen (ide innerhalb der zeilen sind!!) ignorieren. Anscheinend hat meine eingelesene File den Zeilenumbruch nicht so kodiert, wie ich es gerne hätte (int('\n')=10 )
-
Ich habs so mal getestet, scheint zu funktionieren.
char sp; std::ifstream dat("test.txt"); do{ dat.get(sp); if(dat) printf("%c",sp); }while(sp!='\n');
-
stimmt!!
das geht, es liegt wohl am ".get" !!thx4help