私はユーザーから文字列を読み込み、それを使って要求を処理するプログラムを作成しています。ユーザーコマンドのタイプに応じ文字列を複数のプリミティブ型に分割する
- 文字列
- 文字列の整数
- 文字列
:プロンプトを発行した後、私はどちらかの形で3つの可能性のいずれかの応答を期待することができます与え、プログラムは別のタスクを行うことです。私はユーザーの入力を処理しようとするのが難しいです。明確にするために、ユーザーはコマンドを1つの文字列として入力するので、オプション2を実行しているユーザーの例では、プロンプトの後に「年齢8」と入力することがあります。この例では、プログラムは "年齢"を文字列として、 "8"を整数として格納したいと考えています。これについての良い方法は何でしょうか?
私がここで集めたことから、strtok()またはboostを使用することが解決策になるかもしれません。しかし私は両方とも成功しなかったが、誰かが物事をより明確にすることができれば非常に役立つだろう。事前に感謝
「string str; int num; cin >> str >> num; 'はあなたのために働かないのですか? – Shahbaz
私は、唯一の問題は、例のように、ユーザーが文字列stringまたはstringの形式で入力を与えたかどうかを判別する方法であると仮定します。 –
@Shahbaz:3の場合は動作しません。行を読んでから、おそらく 'stringstream'を解析したいでしょう。 –