std::getline() funktioniert nicht



  • Guten Abend,
    ich habe soeben versucht, eine .txt Datei zu öffnen. Das ist mir gelungen. Nur kann ich die Funktion std::getline nicht aufrufen. Kann mir wer sagen, was ich falsch gemacht habe?
    LG

    #include <iostream>
    #include <fstream>
    
    int main() {
    
    	
    
    	std::ifstream file("database.txt");
    	file.open("database.txt");
    	if (file.is_open()) {
    		std::cout << "File wurde erfolgreich geoefnet" << std::endl;
    		std::string line;
    		while (std::getline(file, line)) {
    			std::cout << line;
    		}
    	}
    }
    


  • @redexception sagte in std::getline() funktioniert nicht:

    Nur kann ich die Funktion std::getline nicht aufrufen

    Wie kommst du darauf?
    Wie äußert sich das?



  • Habe vergessen String zu inkludieren. Weil da eine Fehlermeldung kommt mit std:: hat keinen Member getline()



  • @redexception
    Du solltest immer beschreiben was der Fehler genau ist. D.h. wenn du vom Compiler eine Fehlermeldung bekommst, dann diese bitte immer dazuschreiben (1:1 mit Copy + Paste, um Fehler zu vermeiden).



  • @redexception sagte in std::getline() funktioniert nicht:

    Habe vergessen String zu inkludieren. Weil da eine Fehlermeldung kommt mit std:: hat keinen Member getline()

    Wenn du das nächste Mal für ein Problem Hilfe haben möchtest, kopiere bitte die Fehlermeldung des Compilers anstatt diese mit eigenen Worten zu verwässern (also nicht: "ich kann xy nicht aufrufen" - bzw. du kannst das schon so schreiben, wenn du zusätzlich die echte Fehlermeldung kopierst).

    Ich habe noch einen zweiten Tipp:

    	std::ifstream file("database.txt");
    	file.open("database.txt");
    

    Das ist doppelt gemoppelt. Mit std::ifstream file("database.txt"); öffnest du die Datei bereits zum Lesen. Du kannst die 2. Zeile also weglassen.



  • Okay, danke. Ich achte in zukunft drauf


Log in to reply