c++도 while(getchar()!=' ')로 stdin 비울 수 있음?
void ClearStdin(void)
{
while (fgetc(stdin) != '
');
}
while (1)
{
opt = 0;
ShowMenu();
cout << "선택> ", cin >> opt;
if (opt < 1 || opt>5)
{
cout << "1~5의 숫자를 입력해 주세요." << endl;
ClearStdin();
continue;
}
.........
위 코드에서 opt에 입력받을때 adsde이렇게 막 영문자 입력하니까
cout << "1~5의 숫자를 입력해 주세요." << endl; 실행되고
메뉴 출력하고 선택 지나쳐서 다시
cout << "1~5의 숫자를 입력해 주세요." << endl; 여기로 돌아옴
이거 입력버퍼 안비워진거 아님??
C퀴즈가 아닐까요
열혈 C++보는중이라... 이제 1챕터라 C에서 조금씩 다른거 배우고 있음