티스토리 뷰
안녕하세요 박스여우입니다.
이번에는 getch() : 문자를 입력받는 함수에 대해 알아보겠습니다.
우선 getch()함수의 원형은 int getch(void) 요렇게 생겼습니다.
getch()함수는 char형 한 글자를 입력받기 위한 함수이고, 입력받은 값을 가져와 아스키코드값으로 반환해줍니다.
(값이 없을경우 null을 반환)
키-버퍼에 저장된 값을 불러올수도 있습니다.
그럼 getch()함수를 이용한 예제를 살펴보겠습니다.
1
2
3
4
5
6
7
8
9 |
int a;
printf("문자를 입력해주세요.\n");
do
{
a =_getch(); //getch함수로 입력받은 문자를 확인한다.
printf("%c, %d\n", a, a); //입력받은 문자와 아스키코드를 출력한다.
}
|
cs |
Input : a - Output :a, 97
Input : s - Output : s, 115
Input : q - Output : q, 113
getch()함수는 enter입력을 기다리지 않고 바로 입력이 됩니다.
또, 여러글자(문자열)을 입력해도 처음 한 글자를 누르면 입력이 끝납니다.
-_getch()로도 쓸 수 도 있고, 한글이나 한자 그리고 예외키들은 키-버퍼에 값을 '2개' 반환합니다.
(예외키 : F1, F2 ~~ F12, INSERT, DELETE, HOME, END, PGUP, PGDN, ↑, ←, →, ↓)
*용어 설명*
키-버퍼(key-buffer) 란?
프로그램 실행동안 사용자가 누른 키보드로 부터의 신호를 임시적으로 모아두는 메모리.
※위의 함수를 사용하기 위해서는 #include <conio.h>를 통해 헤더파일 사용선언을 하셔야 합니다.
※위의 소스는 다른 부분은 때고 응용되는 부분만 나타낸 소스이므로 컴파일러에 형식을 갖추셔야 작동됩니다.
'tmp' 카테고리의 다른 글
string.h :: strcpy() : 문자열 복사하기 (375) | 2015.07.13 |
---|---|
string.h :: strcmp() : 문자열을 비교 (394) | 2015.07.12 |
string.h :: strlwr() : 문자열을 소문자화한다 (401) | 2015.07.11 |
conio.h :: kbhit() - 타자를 입력받는다. (1) | 2015.07.10 |
string.h :: strupr() : 문자열을 대문자화한다 (0) | 2015.07.10 |
댓글