2016-05-01 10 views
0

Ich habe einige Code-Datei Eingang:Splitting char auf neue Linie

std::ifstream temp("temp.tmp", std::ifstream::in); 
char line = temp.get(); 

Dies ist jetzt in Ordnung, und es funktioniert, so dass ich es benutze. Mein Problem ist, dass ich jede Zeile überprüfen muss, um zu sehen, ob es gleich "this" ist. std::getline(); hat nicht gut für mich gearbeitet. Alles, was ich brauche, ist eine Möglichkeit, das Zeichen line in Zeilen aufzuteilen (in einer for Schleife, vielleicht ??).

Antwort

1

Der Typ line ist nicht Char Array, wie in Ihrer Frage impliziert, sondern eher eine einzige char Variable. Ich bitte Sie dringend, std::string s anstelle von Char-Array (C-Stil-Strings) zu suchen. Documentation of strings

+0

aber wie würde ich es in Linien teilen? –

+0

Ich weiß nicht, was Sie mit "Linien" meinen. Da Ihr Code momentan in der Frage existiert, können Sie 'line' nicht teilen, weil es nur ein' char' ist. Es scheint, dass Sie implizieren, dass Sie mehrere Strings wollen, von denen jeder eine Kopie einer einzelnen Zeile enthält ('\ n' getrennt in der Quelle). Wenn das der Fall ist, benötigen Sie mehrere 'std :: string'-Variablen, um die verschiedenen" Zeilen "zu halten. Sie würden dann getline verwenden, um die String-Variablen zu füllen. Arbeite an deiner Frage und du wirst bessere Antworten bekommen. – Jfevold

0

std::getline ist der Weg zu gehen. Wenn Sie es nicht zum Laufen bringen können, geben Sie den Code in einer neuen Frage ein.