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

728x90

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()는 문자형 데이터 하나를 입력 받을 수 있다.

따라서 getchar()는 scanf("%d %d %d",&a,&b,&c); 이런식으로 쓰지 못한다.

 

ch라는 변수에 대해 입력값을 받는다고 가정할 때, 두 함수는 각각 이런식으로 쓰인다.

char ch;
scanf("%c", &ch);
getchar(ch);

 

https://afterdawncoding.tistory.com/10?category=998508 

 

[C언어] : scanf()함수 입력 무시 문제, 버퍼링

scanf("%d\n", &a); 가끔 이걸 쓸 때 빌드하고 터미널에서 값을 입력하면 이상하게도 그냥 무시되는 경우가 있었다. 그리고는 다시 문자나 문자열 입력을 요구하기도 한다.특히 연속으로 scanf 사용하

afterdawncoding.tistory.com

 

728x90