こんにちは、再び 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 つの文字列を取得して 2 番目の文字列を int に変換できることです。誰か助けてくれませんか?大変ありがたく存じます。また、私が試みているよりも良い方法があれば、それも聞きたいです。
あなたが私に与えることができるどんな助けにも感謝します.