C언어 getch() 함수 선입력 문제
조회수 592회
#include <stdio.h>
#include <conio.h>
#include <Windows.h>
void main()
{
char buff;
while(1)
{
buff = getch();
Sleep(1000);
printf("%c\n",buff);
}
}
위와 같은코드에서 www를 입력했을때,
한번만 w가 출력되고 getch() 함수의 사용자입력대기 상태가 되게 하려면
어떤식으로 수정해야할까요....
입력버퍼를 fflush(stdin)으로 삭제해도 소용없고,
getchar()로 입력버퍼를 없애자니 \n이 없는 입력버퍼를 지우기엔 어려울거같습니다...
좋은 방법이 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); 를 사용해 보시기 바랍니다.
#include <stdio.h> #include <conio.h> #include <Windows.h> void main() { char buff; while(1) { buff = getch(); Sleep(1000); printf("%c\n",buff); FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); } }
감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력