Problem mit getline();



  • Hallo,

    ich möchte mit einem einfachen File-Stream eine Textdatei auslesen und diese Eingabe dann direkt weiter verarbeiten. Also habe ich folgenden Code geschrieben:

    ...
    	std::ifstream fin("...");
    
    	std::string filepath;
    	while(getline(fin, filepath))
    	{
    		frames.push_back(new Frame(filepath)); // Vector
    	}
    ...
    

    Das Problem ist nun, dass getline() den Delimiter /n mit in den temporär gespeicherten String setzt und es somit zu einem Fehler kommt. Gibt es eine elegante Möglichkeit den String einzulesen ohne, dass das Trennzeichen /n noch am Ende steht?



  • Ich hab's jetzt einfach erstmal mit substr() gelöst.

    ...
    frames.push_back(new Frame(filepath.substr(0,filepath-1)));
    ...
    

    Gibt es da vielleicht noch eine elegantere Lösung?


Anmelden zum Antworten