본문 바로가기

C 언어/임베디드 C

문자입출력[getchar()/putchar()] 함수

/*getchar()/putchar() 함수를 이용하여 키보드로부터 한 문자를 입력받아 화면에 출력하는 프로그램*/

#include <stdio.h>

int main()
{
 char ch;

 printf("Please enter any character: ");
 ch = getchar(); //문자입력
 putchar(ch); //문자출력
 printf(" is a letter you typed\n");
 fflush(stdin);
 printf("Please enter any character: ");
 scanf("%c", &ch);
 printf("%c is a letter you typed\n", ch);
 return 0;
}

ch=getchar();
scanf("%c", &ch);
이 두함수는 키보드로부터 문자를 입력받아 변수 ch에 기록한다. 사용자가 데이타를 입력한 후 <엔터키>를 눌러야 입력 데이타를 읽는다. 이것은 두함수가 모두 버퍼(buffer)를 통하여 데이타를 입력받기 때문이다. 버퍼란 임시 저장공간으로 여기서는 입력된 문자들을 <엔터키>를 누를때까지 저장하는 공간이다. 버퍼를 사용하는 이유는 키보드에 누를 때마다 프로그램으로 문자를 전송하는 것보다 한 줄을 모두 입력받아 한꺼번에 전송하는 것이 전송속도를 줄일 수 있기 때문이다.

printf("%c", ch);
putchar (ch);
이 두 명령어도 동일한 기능을 가진 출력문이다. putchar (ch);는 문자하나를 출력할 때 유용하다.

fflush (stdin);
getchar() 함수로 문자를 읽은 후 버퍼에 <엔터키>가 남아 있기 때문에 입력버퍼를 비우기 위해서 쓰인다.

'C 언어 > 임베디드 C' 카테고리의 다른 글

while문(2)  (0) 2011.04.06
while문(1)  (0) 2011.04.06
아스키코드와 숫자의 구분  (0) 2011.04.05
switch문(3)  (0) 2011.04.05
switch문(2)  (0) 2011.04.05