我有一个关于一个函数的问题,它需要一个字符串(命令,名字和姓氏),并根据输入的内容执行。我的函数还有其他几个if语句,如果输入被认为是无效的,我该如何让用户输入另一个命令?谢谢调用自己的C++输入函数
EXAMPLE_INPUT = "CREATE John Doe"
std::string get_input(std::string& s)
{
std::string raw_input;
std::getline(std::cin, raw_input);
std::istringstream input(raw_input);
std::string command;
std::string first_name;
std::string last_name;
input >> command;
input >> first_name;
input >> last_name;
//what do I return? I can't return all 3 (command, first, last)
}
void std::string input_function(std::string& s)
{
if (s == "ONE")
{
call function_one()
}
else if (s == "TWO")
{
call function_two()
}
else
{
//How do I get user to type in something else(call get_input() again)?
}
}
由于您只是解析了它并将其拆分为三个不同的字符串,所以返回'std :: string'没有任何意义......也许您需要一个结构体。 – 2014-11-25 00:49:56
对于第一个结构,struct可能是最好的选择,也许返回一个表示命令执行成功的“bool”会适用于第二个。 – IllusiveBrian 2014-11-25 00:51:31
这样的结构与这3个元素,每个都是一个字符串。所以当我的第二个函数接受一个字符串时,我给它struct.element? – Steven 2014-11-25 00:52:12