这可能听起来很简单,但我不知道如何使这项工作。我有一组函数放在一起来控制一个行编辑器,但是每个函数对行编辑器都有不同的影响。
无论如何,例如......我有一个名为“setfilename”的函数。我想创建一个用户必须输入的命令,以便用他的特定文件名调用它。
例如,要调用的“setfilename”命令应为“r filename” “它代表”读取文件名“
用户必须输入“r test”作为要读取的测试文件名。
这是否清楚?我怎么能这样做?将会有一个我想要的命令列表,每个命令都会调用不同的函数。LIST:
string choice;
cout << "What command would you like to perform?" << endl;
cout << "r filename" << endl;
cout << "w filename" << endl;
cout << "q" << endl;
cout << "s n" << endl;
cout << "s m n" << endl;
cout << "i n" << endl;
cout << "l n" << endl;
cout << "d n" << endl;
cout << "d n m" << endl;
cout << "c n" << endl;
cout << "c n m" << endl;
cout << "p n" << endl;
cout << "P n" << endl;
cout << "f string" << endl;
cout << "F string" << endl;
cout << "x string1 string2" << endl; // bonus
while (true)
{
cout << "INPUT: -> ";
cin >> choice;
if (choice=="r filename")
{
setfilename(choice)
}
else if (choice == "w filename")
{
...
}
else if (choice == "quit")
{
break;
}
}
答案 0 :(得分:1)
你的循环需要看起来更像这样:
while (true)
{
cout << "INPUT: -> ";
getline(cin, choice);
istringstream iss(choice);
iss >> choice;
if (choice == "r")
{
iss >> choice;
setfilename(choice);
}
else if (choice == "w")
{
iss >> choice;
...
}
else if (choice == "quit")
{
break;
}
}