Problem mit cin bei der Eingabe von Leerzeichen mithilfe von Zeichenfolgenklassen

Ich habe folgenden Code:

main.cpp
#include <iostream>
#include <string>

using namespace std;

string name;
string age;

int main() {
    cout <<"Name: ";
    cin >> name;
    cout << endl;
    cout <<"Age: ";
    cin >> age;
    cout << endl;
    cout << "Your name is " << name << ", and you are " << age << " years old."  << endl;
    cout << "Press enter to close this application" << endl;
    getchar();
    return 0;
}

Ich habe festgestellt, dass ich bei der Eingabe eines Leerzeichens für den Namen keine Möglichkeit habe, einen Namen einzugeben, und dass der Eintrag nach dem Leerzeichen als Alter angezeigt wird. Ich entschuldige mich, wenn dies ein Anfängerfehler ist, der es wahrscheinlich ist. Ich habe zuvor Java programmiert und beschlossen, auf C ++ umzusteigen, weil es meinen Bedürfnissen besser entspricht. Wahrscheinlich formatiere ich meinen Code auch seltsam nach Ihren Standards. Bitte korrigieren Sie ihn, wenn Sie möchten.

Ich habe auch einen weiteren Fehler bemerkt, mit dem ich in Java nie wirklich Probleme hatte. Ich kann nicht herausfinden, wie verhindert werden kann, dass es nach Abschluss der Verarbeitung sofort geschlossen wird. Ich habe gehört, dass Sie "system" verwenden können ("pause"), aber mir wurde auch geraten, es nicht zu verwenden. Ich bin wirklich verwirrt, was ich verwenden soll. Ich habe gehört, getchar () zu verwenden, aber es scheint nichts zu tun.

Jede Hilfe wäre sehr dankbar, da ich ein absoluter Anfänger bin, wenn es um C ++ geht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage