개인노트
[C언어] 문자 단위의 입출력 함수, EOF 본문
▶ 문자 출력 함수 - putchar, fputc ◀
#include <stdio.h> int putchar(int c); // putchar 함수 int fputc(int c, FILE * stream); // fputc 함수, FILE * stream은 문자를 전송할 스트림을 지정(파일도 가능) ▶ 성공시에는 문자가 출력되고 실패 시에는 EOF(End of File) 반환 |
▶ 문자 입력 함수 - getchar, fgetc ◀
#include <stdio.h> int getchar(void); int fgetc(FILE * stream); // 문자 출력 함수와 동일한 관계 ▶ 파일의 끝에 도달하거나 함수 호출 실패 시 EOF 반환 |
[ 예제 ]
#include <stdio.h> int main() { int ch, te; ch = getchar(); // 문자를 입력 받고 int형 변수 ch에 저장 te = fgetc(stdin); // 엔터 키 입력 후 int형 변수 te에 저장 putchar(ch); // putchat 함수에 변수 ch를 인자로 전달 후 출력 fputc(te, stdout); // fputc 함수에 변수 te를 인자로 전달 후 대상 스트림을 stdout으로 정하여 출력된다. } |
▶ 문자 입출력의 EOF ◀
EOF = End Of File 이며, 파일의 끝을 표현하기 위해 정의해 놓은 상수이다.
fgetc과 getchar 함수는 입력을 받는 함수인데 언제 EOF를 반환하게 될까?
1. 함수 호출의 실패
2. 윈도우에서 ctrl + z, 리눅스에서 ctrl + d 를 입력 했을 경우
[ 예제 ]
#include <stdio.h> int main() { int ch; while(1){ ch = getchar(); if (ch == EOF) break; putchar(ch); } return 0; } |
'C > 문법' 카테고리의 다른 글
[C언어] 표준 입출력 & 버퍼 (0) | 2017.07.14 |
---|---|
[C언어] 문자열 단위의 입출력 함수 (0) | 2017.07.14 |
[C언어] 스트림의 의미 (0) | 2017.07.13 |
[C언어] srand를 이용한 난수 출력 (0) | 2017.07.12 |
[C언어] main 함수의 인자 전달 (0) | 2017.07.07 |