답변:
예. 그것은 ^D실제로 와 관련 이 있습니다 : 그것은 단지 현재 read(2)통화를 중단합니다 .
프로그램이 작동 int rdbytes = read(fd, buffer, sizeof buffer);하고 그 ^D사이 를 누르면 read()버퍼에서 현재 읽은 바이트와 함께 숫자를 반환합니다. 라인 종료에서도 마찬가지입니다. \n끝은 항상 전달된다.
따라서 ^D줄의 시작 부분이나 그다음에 a 만 리턴 ^D하여 원하는 효과를 가지며 EOF를 신호합니다.read()0
read()return 을 가질 것 0입니다.
\n.. 포함). 그러나^D연속으로 두 번 누르고 최종 줄 바꿈 문자를 생성하지 않고 EOF 조건을 유발할 수 있습니다 (Enter 키를 누르기 전에^D).