C언어/ 문자 입출력 함수 getchar(), putchar()

리얼니트·2021년 9월 8일
0

1학년

목록 보기
9/24
post-thumbnail

stdio.h 헤더를 사용하는 입출력 함수들이다.

getchar()는 입력을, putchar()는 문자를 출력한다.

#include <stdio.h>
int main()
{
	char text=0;
	while(text != EOF)
	{
		text=getchar();
		putchar(text);
	}
	return 0;
}

이러면 죽을때까지 입력한 값을 그대로 출력하는 작업을 반복한다.

(EOF는 -1의 값과 같으며 end of file, 즉, 파일이 끝날때라는 조건의 역할을 수행한다. 파일이 끝날 방법이 없는 코드이므로 계속 진행된다.)

그럼 getchar와 scanf와의 차이는?
getchar는 문자형 데이터 하나를 입력 받을 수 있다.

scanf("%d %d %d",&a,&b,&c);
이건 되는데
getchar는 이렇게 못한다.

정리하면 이것과 같다.
char ch;
scanf("%c", &ch);
getchar(ch);

입력받을게 많을 때 버퍼 문제 때문에 두개를 번갈아 쓰는 사람이 있다고 하지만 차라리 scanf쓰면서 fflush(stdin)로 버퍼를 초기화 하는게 나을듯 하다.

profile
방구석에서 잘 살아요

0개의 댓글