_getch / _getche

_getch : getchar함수는 문자나 문자열을 입력받아 

버퍼에 저장한 후에 한 문자씩 꺼내서 반환하지만 

_getch함수는 버퍼에 입력받은 문자나 문자열을 

저장하지 않는 non I/O buffer 함수이므로 

문자 하나만을 입력받는다.

 

_getche : eecho의 의미

_getch와 기능은 대부분 동일하지만 다른 점은 

입력한 키보드의 값을 화면에 출력하는지의 여부.

 


char ch;

ch = _getch();

putchar(ch);

 

_getch함수가 표준입력장치로부터 

한 문자를 입력받게 되면 그 문자를 

버퍼에 저장하지 않고 반환하게 된다.

그 반환한 문자를 ch라는 변수에 대입한다

하지만 사용자가 입력한 키보드의 값을 화면에 출력하지 않는다.


_getche함수의 경우 사용자가 입력한 키보드의 값을

화면에 출력하게 된다는 점을 제외하면 

_getch함수와 동일하다.


putchar함수에 의해서 ch에 대입된 문자가 

콘솔화면에 표시된다.

 

‘T’를 입력하면 _getch함수는 ‘T’만 출력하는 반면,

_getche함수는 ‘TT’를 출력하게 된다.

 

 

_getch, _getche 함수는 사용자로부터 프로그램을 

종료할 것인지 물어보려고 ‘y’와 같은 영문 한글자를

입력 받을 때나아무키나 누르세요와 같이 

메시지를 출력하고 프로그램을 일시적으로 멈출 때 주로 사용한다.



위 두 함수는 getchar함수와 달리 엔터를 칠 필요없이 

문자 하나만 입력하면 바로 처리가 된다.



그리고 이 함수는 conio.h 헤더 파일에 함수에 대한 

선언이 들어있기 때문에 명시해야 한다.

#include <conio.h> 와 같이






** 잘못알고 있는 것이 있으면 댓글로 알려주시면 감사하겠습니다! **

+ Recent posts