#include <iostream>
#include <string>
int main(void)
{
using std::cout;
using std::cin;
using std::string;
string name;
int n1, n2;
cout << "What is your name ?\n";
cin >> name;
cout << "Hello " << name.c_str() <<"!\n"
<< "Please give me two number separated by space\n";
cin >> n1 >> n2;
cout << "Sum of " << n1 << " + " << n2 << " is " << n1 + n2 << "\n";
return 0;
}
我的控制台输入/输出如下所示:
你叫什么名字?
John Titor
你好约翰!
请给我两个以空格分隔的数字
总和0 + 1961462997是1961462997
它不打印全名,只打印“John”,它甚至不会问我放两个数字。
答案 0 :(得分:7)
您应该使用std::getline
来获取带空格的字符串。 std::cin
用空格分隔字符串。
getline(cin, name);
此外,您可以在std::string
之前std::cout
打印.c_str()
:
cout << name;