반응형

C언어에서 표준으로 지정된 입력스트림, 출력스트림이 있다.

 

보통 "키보드"의 입력을 통해 받으니 입력스트림이다. (stdin)

보통 "모니터"로 결과를 확인하니 출력스트림이다. (stdout)

그 외 default로 "모니터"출력으로 설정된 에러스트림이 있다. (stderr) -> (필요에 따라 출력을 파일로 스트림을 변경가능)

반응형

 

문자(character)를 1개만 입력받는 함수 getchar

 - 함수 원형: int getchar(void)

 - 반환형이 int인 이유? char형은 컴파일러마다 unsigned, signed가 다른데, int는 모든 컴파일러가 signed int로 처리함.

 - int형 이므로 어떤 컴파일러든 -1값을 반환하는데 무리가 없다.

 

문자(character)를 1개만 출력하는 함수 putchar

#include <stdio.h>

int main()
{
	int ch1;

	// 문자(character) 1개만 입력받아 저장
	ch1 = getchar();

	// 1개의 문자만을 출력
	putchar(ch1);

	return 0;
}

(결과)

어떤 문자들을 넣어도, 제일 처음에 입력된 문자만 ch1에 저장되며, 해당 문자 1개만 출력된다.

 

 

#include <stdio.h>

int main()
{
	int ch2;

	// fgetc는 뒤에 인자로 stdin을 택하면 키보드, 그 외 다른 파일을 읽는 것과 같은 입력 인자를 넣을 수 있다.
	ch2 = fgetc(stdin);

	// fputc는 뒤에 인자로 stdout을 택하면 모니터, 그 외 파일으로 출력인자를 선택할 수 있다.
	fputc(ch2, stdout);

	return 0;
}

(결과) 위와 마찬가지다.

 

getchar, putchar는 특정 설정없이 자동으로 표준입출력 stdout, stdin이 설정되어있음을 알 수 있고,

fgetc, fputc는 stdin, stdout으로 입출력을 프로그래머가 작성하고, 또한 파일같은 다른 형태로 변경이 가능하다.

단, 공통적으로 하나의 문자(character)를 입력받고 또는 출력한다.

 

 

반응형

+ Recent posts