sleep 함수 사용후 밀려있는 버퍼 지우는법좀 ㅠㅠ
뿌우
2023.04.01
버퍼 비우는것.질문 내용 :
아래 코딩을 실행하면 아무 키나 누르면 문자가 출력되는대
딜레이를 줬슴다.. 근대 이 딜레이동안 키를 5번 누르면
5번이 출력되는대..
몇번을 눌러도 딜레이가 끝나면 새로 입력을 기다리게 하는 방법이 없을까요??#include stdio.h
#include string.h
#include conio.h
#include windows.h
#include stdlib.h
#include time.h
void main ()
{
int c;
int a=0;
while(1)
{
kbhit();
fflush(stdin); //이걸 넣으면 될거라고 생각했는데 안되내요
c+=getch();
printf(a=%d엔터 한번만 눌러!!.\n,a);
sleep(500);
fflush(stdin);//요렇게해도 마찬가지고 ㅠㅠ
a++;
}
}
-
유진
kbhit(); 함수를 쓰셔도 될 것 같고...(kbhit()함수는 마지막으로 눌린 키의 code를 반환하는 함수이니...)
GetAsyncKeyState Win32 API를 쓰셔도 될 것 같네요. -
하예진
어떤거요?? 0_0
-
플랜
getch() 말고 다른 거 쓰기도 되려나..