stream
- stdin 표준입력스트림 - 키보드
- stdout 표준출력스트림- 모니터
- stderr 표준에러스트림-모니터로 출력한데요
문자출력함수
- int putchar(void) 반환하는 값도 정수이다
- int fgetc(FILE *stream) 입력에 사용하는 스트림이 정해져 있지않아서 다른 파일로 부터도 입력을 받을 수 있는 함수이다.
- int putchar(int c ) 문자를 입려받에서 표준출력스트림을 통해서 디폴트로 출력하는 함수이다. stdin - default
- 두 함수 모두 함수 호출을 실패하면 -1을 반환한다 둘다 파라미터로 문자로 선언된 변수를 사용한다.
- int fputc(int c,FILE file) 문자를 정수형태로 입력받아서 이를 출력하는 함수이다 근데 문자를 출력하는 스트림이 정해지지않아서 다른 파일 스트림으로부터 문자를 입력받을 수 있다.
- putchar, fputc함수 둘다 공통점으러 반환값이 존재한다는 것이다 이는 파일의 끝인 EOF를 만나면 정수 -1 을 반환하기 때문이다.
- 문자 입출력에서의 EOF를출력하는 경우는 함수의 호출에 실패할 경우 이거나 윈도우에 컨트롤제트 리눅스에서 컨드롤 d 가 입력되었을 경우이다.
반환형과 파라미터가 정수인 이유는 컴파일러마다 문자를 인코딩하는 방식이 다르기 때무니이다 따라서 어떤 컴파일러는 문자를 인코딩할때 unsigned를 사용하는데 이때 EOF를 정수형을 이용해서 반환해버리면 그때 이상안 컴파일에서는 숫자1 이 반환된다 따라서 이때문에 정수형을 사용해서 문자를 다루는 함수를 만든거래 진은아.