| 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);
}
} // 문자 입력하자마자 곧바로 출력
//------------------------------------------------------------------------
'dev, tech' 카테고리의 다른 글
fflush(stdin) (0) | 2006.05.02 |
---|---|
<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> (데이터구조) 스택과 큐 (0) | 2006.04.22 |
큐(queue) (0) | 2006.04.21 |
이중 연결 리스트를 이용한 텍스트 뷰어 (0) | 2006.04.18 |
<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> 유닉스 (0) | 2006.04.15 |
댓글