Автор: Bloke (06.12.2007 в 21:04)
Я столкнулся с проблемой ввода строки используя операто cin>>something;
Проблема в том что он считывает строку до первого пробела или символа конца строки.
я использовал cin.getline(buffer, sife_of_buffer);
но возникла другая проблема, консольное окно не останавливает ход программы для того чтобы ввести данные, прога тупо проскакивает этот оператор. Почему??
Вот код:
void menu()
{
cout<<"Press required key to proceed\n";
cout<<"1 - Create a new group\n";
cout<<"2 - Show/edit all created groups\n";
cout<<"0 - Exit\n";
}
void main()
{
char st_name[30], gr_name[10];
SetConsoleOutputCP(1251);
for(;;)
{
menu();
cin>>select;
switch(select)
{
case 1:
cout<<"\nInput name of being created group"<<endl<<flush;
cin.getline(gr_name, sizeof(gr_name)); // тут прога, по идеи, должна дать ввести данные, но оператор выполняется без остановки хода программы
cout<<gr_name<<endl;
break;
case 2:
//another part
break;
case 0:
goto exit;
break;
default: break;
}
//getch();
putch('\n');
}
exit: ;
}
|