我这里有这段代码
cout << "Player 1 enter coordinate" << endl;
int x, y;
string s;
cin >> s;
stringstream is(s);
is >> x >> y;
cout << x << " " << y << endl;
当在终端输入“1 2”时,cout打印出来:
Player 1 enter coordinate
1 2 //input
1 4197944 //output
我做错了吗?
答案 0 :(得分:1)
字符串's'仅检索第一个单词'1'。您可以直接使用标准输入流,而不是使用stringstream打扰。
cin >> x
cin >> y
答案 1 :(得分:1)
我必须使用getline()而不是cin,因为cin在空格处结束。
修正版:
std::cout << "Player 1 enter coordinate" << std::endl;
int x, y;
std::string s;
std::getline(std::cin,s);
std::stringstream is(s);
is >> x >> y;
std::cout << x << " " << y << std::endl;