你好 Stackoverflow,我又来这里为我的 C++ 编程课提问了。我面临的问题主要是由于用户从键盘输入。我需要能够接受用户输入来决定调用什么函数以及给函数提供什么参数。例如,add 5
会使用参数 5 调用 add 函数。起初我尝试重载 >> 运算符以同时获取字符串和 int 但我遇到的问题是程序无法在没有 int 的情况下获取输入,例如deletemax
所以我不得不放弃这个想法。所以现在我回到对输入进行标记,但我们不允许在这个程序中使用 Boost,所以我想出了这样的东西使用 sstream
bool out = false;
string token;
string In;
int num;
do
{
cout << "heap> ";
cin >> In;
istringstream iss(In);
while(getline(iss, token, ' '))
{
cout << token << endl; //I know this is incorrect but just not what to replace it with
}
out = ProcessCommand (token, num); //Takes string and int to call correct functions
} while (out != true);
问题在于我不太确定如何正确标记字符串,因此我可以获得 2 个字符串并将第二个字符串转换为 int。谁能给我一些帮助?我将不胜感激。另外,如果有比我尝试的更好的方法来解决这个问题,我也想听听。
感谢你给与我的帮助。