如何在c ++中保留空格作为输入的同时读取具有分隔字符的用户输入

时间:2015-03-06 05:26:16

标签: c++ string input stream

我坚持要求在庄园中处理用户输入。我需要输入例如“Name100 /其他名称”。使用下面的代码,我可以将所有内容分配给变量input1的'/',但是我无法将整个字符串'其他名称'输入到变量input2中,只分配第一个单词。谢谢你的帮助。

string input;
string input1;
string input2;

cout << "Please enter a Name and Another Name" << endl;     
cin >> input;

stringstream ss(input);
getline(ss, input1, '/');
getline(ss, input2);

cout << input1 << endl;
cout << input2 << endl;

输出:

请输入姓名和其他姓名

Name100

一些

1 个答案:

答案 0 :(得分:2)

而不是

cin >> input;

使用

std::getline(std::cin, input);

第一个将停止阅读第一个空格字符。第二个将读取整行。