반응형
EOF란? End of File의 약어로, "파일의 끝을 표현한 상수로 -1 값을 지칭"
즉, 파일을 대상으로 fgetc (읽기함수)가 호출되었을 때 그 파일의 끝에 도달하면 EOF (= -1)이 반환되어 끝을 알린다.
만약 fgetc(stdin) 으로 키보드를 입력장치로 콘솔, 터미널에서 입력을 받을 때,
Windows에서는 "Ctrl+Z"키
Linux에서는 "Ctrl+D"키
를 입력받을 때 EOF를 반환한다.
반응형
예시)
아래 코드는 키보드를 입력하면 똑같이 echo하는 코드이다. 그러나 만약 유저가 Ctrl+Z키를 누르면 콘솔이 종료된다.
만약 리눅스에서 실행한다면, Ctrl+D를 눌러야 종료된다.
#include <stdio.h>
int main()
{
int ch;
while (1)
{
// 키보드로부터 입력받음
ch = getchar();
if (ch == EOF)
{
break;
}
putchar(ch);
}
return 0;
}
(결과)
입력한 결과가 그대로 echo된다. 그리고 Ctrl+Z를 누르면 콘솔에서 (^Z)로 표시되며 종료된다.
반응형
'C언어 \ C++' 카테고리의 다른 글
[C언어] 문자열(string) 입출력 (puts, fputs, gets, fgets) 사용법 (0) | 2022.02.25 |
---|---|
[C언어] 파일 읽기 쓰기(read, write) 추가하기 모드 종류 (wt, rb, a+t) (0) | 2022.02.22 |
[C언어] C언어 표준 입출력 stdin, stdout (입력과 출력), 문자 입출력 ( getchar, putchar, fgetc, fputc) (0) | 2022.02.21 |
[C언어] main함수로 인자 전달 (argc, argv [ ]) (0) | 2022.02.21 |
[C언어] C언어 재귀함수의 활용, 사용 용도, 예제 (재귀함수 팩토리얼 Factorial 계산, n!) (0) | 2022.02.01 |