Fehler mit getline



  • Hallo,
    es ist zwar kein Fehler, aber das Programm funktioniert halt nicht so wie ich
    will:

    int bla;
    cin>>bla;
    
    string str;
    getline(cin,str);
    

    Durch die Eingabe davor wird das getline einfach übergangen.

    Danke!



  • hmm versuch mal statt getline() den cin.getline zu verwenden, und sonst machst du es schlampigerweise so:

    int bla;
    cin>>bla;
    
    string str;
    getline(cin,str); //dies zum Buffer "leeren"
    getline(cin,str); //sollte dann funktionieren
    


  • nach der eingabe über operator>> ist noch ein newline im buffer. den ignorieren:

    cin >> bla;
    cin.ignore();
    
    getline(cin, str);
    

    cin.getline ist dem nicht vorzuziehen.


Anmelden zum Antworten