CS/C++

우분투에서 scanf()로 EOF 입력하기/받기

PIYA 2022. 6. 29.

우분투에서 scanf()로 EOF 입력하기/받기

scanf() 함수로 EOF 받기

입력값의 길이를 모르고 형식만 알 때,
예를 들어 아래와 같이 정수 3개가 공백 간격으로 t번 반복된다고 하자.

1 2 3
3 4 5
...
3 3 2

t번을 알 수 없을 때, scanf를 while문 안에 넣어 EOF를 탐지할 수 있다.

while(scanf("%d %d %d", &a, &b, &c)!=EOF) {
    // 대충 a, b, c로 무언가 하는 코드
}

우분투 콘솔에서 EOF 입력넣기

Ctrl+d를 두 번 입력해주어야 한다.
tmux 사용 시에는 shell exit을 일으킬 수 있다.

댓글