Ciągi wejściowe użytkownika C++


Ciągi wejściowe użytkownika

Możliwe jest użycie operatora ekstrakcji >>on cindo wyświetlenia ciągu wprowadzonego przez użytkownika:

Przykład

string firstName;
cout << "Type your first name: ";
cin >> firstName; // get user input from the keyboard
cout << "Your name is: " << firstName;

// Type your first name: John
// Your name is: John

Jednak cintraktuje spację (białe znaki, tabulatory itp.) jako znak kończący, co oznacza, że ​​może wyświetlić tylko jedno słowo (nawet jeśli wpiszesz wiele słów):

Przykład

string fullName;
cout << "Type your full name: ";
cin >> fullName;
cout << "Your name is: " << fullName;

// Type your full name: John Doe
// Your name is: John

Z powyższego przykładu można by oczekiwać, że program wypisze "John Doe", ale wypisze tylko "John".

Dlatego podczas pracy z ciągami często używamy getline() funkcji do odczytania wiersza tekstu. Przyjmuje cinjako pierwszy parametr, a zmienną łańcuchową jako drugi:

Przykład

string fullName;
cout << "Type your full name: ";
getline (cin, fullName);
cout << "Your name is: " << fullName;

// Type your full name: John Doe
// Your name is: John Doe