подскажите пожалуйста, вот фрагмент кода
do
{
cout << "1 - выполнить введенную команду" << endl;
cout << "2 - запустить на исполнение файл со сценарием" << endl;
cout << "3 - выполнить действие указанное в варианте" << endl;
cout << "4 - выход" << endl << endl;
cin >> item;
cin.clear();
cin.ignore();
//тут
//switch()
}
while(item != 4);
задание в пунктах меню, но речь не о том(хотя, если я не правильно делаю, поправьте как лучше пожалуйста).
1й пункт решил сделать через параметры (например: ./a.out ps -al) (как сделать с вводом приличным не придумал еще)
но, если не проходит считывание в переменную item, происходит бесконечный цикл, т.к в буффере(или потоке?) символы остаются.
через
cin.clear();
cin.ignore();
вроде удается сделать адекват, но за каждый символ не считанный, происходит повторный вывод (((
как проциклить cin.ignore() ?(
или есть другой выход ?