본문 바로가기
dev, tech

<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> 단일 문자 입력 함수(getch, getche, getchar)

by 구띵 2006. 4. 15.

 

 

buffer 사용

입력한 data가

프로그램 수행시

사용되는 시점

enter key

인식

문자 입력시

화면에 반환 여부

(echo)

header

getchar()

"enter" key 입력후

n'

stdio.h

getch()

×

문자 입력 즉시

'r'

×

conio.h

getche()

×

문자 입력 즉시

'r'

conio.h

 

getchar() : buffer가 비어 있으면 enter를 치기 전까지 buffer에 쌓아 두었다가,

                  enter를 치면 buffer의 값을 하나 꺼냄.

putchar() : getchar()가 꺼낸 문자를 출력

 

getch() : 키보드로부터 단일 문자 즉시 입력(화면 출력 안함)

getche() : 키보드로부터 단일 문자 즉시 입력(화면 출력 함)

 

example 1)

//-----------------------------------------------

#include <stdio.h>


void main()

{

        char c;                       // "iloveyou" 입력시

        c = getchar();            // buffer 에서 'i' 꺼냄

        putchar(c);                // 'i' 출력

        c = getchar();            // buffer 에서 'l' 꺼냄

        putchar(c);                // 'l' 출력

}

//------------------------------------------------------------------------

 

example 2)

//----------------------------------------------

#include <stdio.h>


void main()

{

        char c;                       // "iloveyou" 입력시

        c = getchar();            // buffer 에서 'i' 꺼냄

        putchar(c);                // 'i' 출력

        putchar(c);                // 'i' 출력

}

//------------------------------------------------------------------------

 

example 3) getchar() 이용하여 string 입력 받을 때

//----------------------------------------------

#include <stdio.h>


void main()

{

        char ch;                      

        while((ch=getchar())!='\n'){  // enter('\n')칠 때까지 buffer에 저장

             putchar(ch);

        }

} // enter 치면 입력 받은 문자 한꺼번에 출력

//------------------------------------------------------------------------

 

example 4) getch() 이용하여 string 입력 받을 때

//----------------------------------------------

#include <conio.h>


void main()

{

        char ch;                      

        while((ch=getch())!='\r'){  // enter('\r')칠 때까지 입력 받음

             putchar(ch);

        }

} // 문자 입력하자마자 곧바로 출력

//------------------------------------------------------------------------

댓글