반응형

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)로 표시되며 종료된다.

 

 

 

반응형

+ Recent posts