Veröffentlicht 9. Oktober 200519 j Steinigt mich, aber ich hab mal wieder ne total dumme Frage: Ersteinmal der betroffene Code in C++: #include <iostream> using namespace std; int main() [ string name; string strasse; cout<<"Name: "; cin>>name; cout<<"Strasse: "; cin>>strasse; ] Wenn man nun als Namen "max" eingibt ist alles in bester Ordnung. Wenn man aber "max mustermann" eingibt wird "max" in die Variable name geschrieben, und "mustermann" in die Variable strasse. Wollte nun fragen wie man das anstellt das alles in eine Variable geschrieben wird, inclusive dem Leerzeichen.
9. Oktober 200519 j Z.B. mit cin.getline Kannst du nen kleinen Beispielcode anhängen um das zu verdeutlichen?
9. Oktober 200519 j Z.B. mit cin.getlineLieber nicht mit cin.getline, weil man da nur einen char-Zeiger angeben kann -> Gefahr eines Pufferüberlaufs. Lieber std::getline, da kann man auch direkt in einen std::string einlesen. Also: getline(cin, name);
9. Oktober 200519 j Doch, hast recht. Also, weniger die Gefahr eines Pufferüberlaufs (man kann ja immer noch einen zu großen Wert angeben), als das umständliche Hantieren mit char-Arrays und -Zeigern und dem Problem, dass man nie wissen kann, wieviele Zeichen der User eingibt.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.