Я реализую небольшой анализатор командной строки. Допустим, у меня есть команда, которая требует 2 параметра. Я хочу позволить пользователю вводить все 3 строки (команду и 2 параметра) в одну строку, а также в несколько строк. В настоящее время у меня что-то вроде этого:
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()
и fail()
, но они не работают. Как я могу проверить это тогда?
Спасибо.