개행문자, 공백 다 받고 에코도 없는 좋은 함수인 _getch().
이 _getch()로 뭘 얻을 때에는 주의할 게 있다.
입력시 입력버퍼에 2번 나뉘어 진다는 것.
그 이유는 컨트롤+c 처럼 두개의 key가 하나의 문자인 경우를 커버하기 위해서이다.
예를 들어 엔터를 _getch()로 받으면 엔터의 아스키코드인 13이 입력되고 버퍼에 0이 남아 있다.
방향키인 경우 -13이 들어오고 73, 75, 80 등이 입력된다.
그러니까 헛짓하지 않으러면 _getch를 두번써야한다.
아래는 _getch 시 어떻게 두번 나뉘는지 나타낸 코드다.
댓글 없음:
댓글 쓰기