1

私は小さなコマンドラインパーサーを実装しています。2 つのパラメーターを必要とするコマンドがあるとします。ユーザーが 3 つの文字列 (コマンドと 2 つのパラメーター) すべてを 1 行と複数行に入力できるようにしたいと考えています。現在、私は次のようなものを持っています:

std::string command;
std::cin >> command;
std::cout << command << " entered\n";
std::string param1;
std::cin >> param1;
std::cout << param1 << " entered\n";
std::string param2;
std::cin >> param2;
std::cout << param2 << " entered\n";

ここで、ユーザーがパラメーターなしでコマンドを入力したことを検出し、その指示を出力できるようにしたいと考えています。コマンドを取得した後、行に他に何かが含まれているかどうかをテストし、含まれていない場合は、ユーザーにさらに入力するように依頼する必要があると思います。eof()andを試してみましfail()たが、機能しません。その場合、どうすれば確認できますか?

ありがとう。

4

1 に答える 1

6

行を読みたい場合は、を使用する必要がありますstd::getline。行全体ができたら、それを単語に分割できますが、いくつもあります。

于 2010-08-18T15:22:00.307 に答える