Я новичок в C++, и я решил создать небольшой скрипт, чтобы привыкнуть к языку.
Весь сценарий состоит в том, что он задает вопрос пользователю, затем пользователь вводит строку, а затем возвращается сценарий с выводом со сценарием, за которым следует вход пользователя.
Моя проблема заключается в том, что когда пользователь вводит имя более одного слова, скрипт возвращает только первое слово, например
What is your name?
Donald Duck
Welcome Donald
Ниже мой сценарий:
int main(int nNumberofArgs, char* pszArgs[])
{
string name;
cout << "What is your name?\n";
cin >> name;
cout << "Welcome " << name;
cout << "\nThis is your homepage. Enjoy your stay!" << endl;
system("PAUSE");
return 0;
}
Просто используйте std::getline
:
#include <string>
#include <iostream>
int main()
{
std::string name;
std::cout << "What is your name?\n";
std::getline(std::cin, name);
std::cout << "Welcome " << name << std::endl;
}