こんにちはもう一度Stackoverflow、私はここで再び私のC + +のプログラミングクラスの質問です。私が直面している問題は、主にキーボードからのユーザー入力によるものです。私は、どの関数を呼び出すのか、どの引数を関数に与えるのかを決めるためにユーザー入力を取る必要があります。たとえば、add 5
のようなものは、引数5でadd関数を呼び出すでしょう。最初に文字列とintの両方を取るために>>演算子をオーバーロードしようとしましたが、プログラムがintなしで入力を取ることができませんでしたdeletemax
というように私はその考えを捨てなければならなかった。だから今私は戻って入力をトークン化するが、私は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に変換できるように、文字列を正しくトークン化します。誰か私に援助を提供することはできますか?私は大いに感謝します。また、私が試しているよりもこれについてもっと良い方法があれば、それも聞いてみたいと思います。
ご協力いただきありがとうございます。
[boost tokenizer](http://www.boost.org/doc/libs/1_49_0/libs/tokenizer/index.html)を使うのが簡単な方法ですが、それはおそらく割り当て。 – juanchopanza