개성파 블로그

C언어 getch함수로 한글 입력 받기 본문

컴퓨터

C언어 getch함수로 한글 입력 받기

TWorld 2014. 1. 26. 15:57

C언어, 콘솔 화면 상에 getch함수로 한글 입력하기!


getch함수를 이용하여 한글 입력 받는 법을 이해하려면 우선 아래 링크로 getch함수 부분을 이해하기 바랍니다.



다들 아시다시피 한글과 한자, 확장키는 모두 2byte를 차지합니다. 이 부분을 알아두면 쉽게 구현할 수 있는 소스입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <conio.h>
 
int main(void)
{
    int ch;
    char str[100];
    int count = 0;
 
    while(1){
        ch = getch();
 
        if( ch == '-' ) break;
 
        str[count++] = ch;
 
        if( kbhit() ){
            ch = getch();
            str[count++] = ch;
        }
    }
    str[count] = NULL;
 
    printf("%s\n", str);
 
    return 0;
}


이 소스는 한글이든 영문이든 어떤 문자든 마음껏 받습니다. 그러다가 문자 '-' 와 만나면 while문에서 빠져 나와서 지금껏 입력받은 문자를 출력하는 함수입니다.


이 소스는 아스키코드를 구하는 소스와 매우 유사합니다. 이렇듯 함수에 대해 이해하면 소스를 금방 짤 수 있습니다.

Comments