私は小さなコマンドラインパーサーを実装しています。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()
たが、機能しません。その場合、どうすれば確認できますか?
ありがとう。