Erstes Wort wird nicht eingelesen [geloest]



  • Hallo, habe heute mal einen Code zusammen gebastelt, der mir einen Text in eine Datei schreibt.

    #include<iostream>
    #include<fstream>
    #include<string>
    
    int main()
    {
    	std::ofstream quelle;
    	std::string quelldateiname;
    	std::cout << "Bitte Zieldatei auswaehlen:\n";
    	std::cin >> quelldateiname;
    	std::string a;
    	quelle.open(quelldateiname.c_str(), std::ios::binary|std::ios::app|std::ios::out);
    	std::cout << "Bitte ihren Text eingeben:\n";
    	std::cin.ignore(5000,'\n'); 
    	std::cin >> a;
    	//static_cast<std::string>(a);
    	std::getline (std::cin,a);
    
    	quelle << a;
    	quelle.close();
    
    	std::cin.get();
    	return 0;
    }
    

    Anfangs war das Problem mit den Leerzeichen, aber nach langer Suche habe ich den Befehl mit

    cin.ignore(5000,'\n')
    

    gefunden. Es klappt alles super...mit einer Ausnahme(wie immer 😃 ).
    Das erste Wort schreibt er nicht in die Datei, woran liegt das?

    Vielen Dank im Voraus

    MfG Stryke

    EDIT: Das mit dem static_cast war ein anderer Versuch, der aber nicht hinhauen wollte aus nem char-Array, einfach ignorieren 😃


  • Mod

    Das erste Wort schreibt er nicht in die Datei, woran liegt das?

    In Zeile 15 liest du es, in Zeile 17 verwirfst du es.



  • Uhhh danke SeppJ, vollkommen übersehen 😃


Anmelden zum Antworten