파일 끝

End-of-file

컴퓨팅에서 EOF([1]End-of-File)는 데이터 소스에서 더 이상 데이터를 읽을 수 없는 컴퓨터 운영체제의 조건이다.데이터 소스는 보통 파일이나 스트림이라고 불린다.

세부 사항

C 표준 라이브러리에서 getchar와 같은 문자 판독 기능은 기호 값(매크로)과 동일한 값을 반환한다.EOF파일 종료 상태가 발생했음을 나타내기 위해.의 실제 값EOF구현에 영향을 미치고 음수여야 한다(그러나 일반적으로 glibc[2] 같이 -1이다).블록 읽기 함수는 읽은 바이트 수를 반환하고, 이것이 요청된 바이트 수보다 작으면 파일 끝에 도달했거나 오류가 발생함(확인)errno또는 다음과 같은 전용 기능ferror어떤 것을 결정하는 데 종종 필요하다.

EOF 문자

단자로부터의 입력은 결코 실제로 "종료"되지 않지만(단말기를 분리하지 않는 한), 단자에 둘 이상의 "파일"을 입력하는 것이 유용하므로, 입력의 끝을 표시하기 위해 키 시퀀스를 예약한다.UNIX에서 EOF로의 키 스트로크의 변환은 터미널 드라이버에 의해 수행되므로 프로그램은 단말기와 다른 입력 파일을 구별할 필요가 없다.기본적으로 드라이버는 줄의 시작 부분에 있는 Control-D 문자를 파일 끝 표시기로 변환한다.입력 스트림에 실제 Control-D(ASCII 04) 문자를 삽입하려면 사용자가 "quote" 명령 문자(일반적으로 Control-V)를 사용하여 앞에 놓는다.AmigaDOS는 비슷하지만 Control-D 대신 Control-\를 사용한다.

DOSWindows(및 CP/MPDP-6 모니터,[3] RT-11, VMS 또는 TOPS-10과[4] 같은 많은 DEC 운영 체제)에서 터미널에서 판독하면 EOF가 생성되지 않는다.대신, 프로그램은 소스가 터미널(또는 다른 "문자 장치")임을 인식하고 지정된 예약된 문자나 시퀀스를 파일 종료 표시기로 해석한다. 가장 일반적으로 이것은 ASCII Control-Z, 코드 26이다.Microsoft MS-DOS 셸(명령)의 일부를 포함한 일부 MS-DOS 프로그램COM) 및 운영 체제 유틸리티 프로그램(예: EDLIN)은 텍스트 파일의 Control-Z를 의미 있는 데이터의 끝을 표시하는 것으로 취급하거나 텍스트 파일을 작성할 때 Control-Z를 끝에 추가한다.이 작업은 두 가지 이유로 수행되었다.

  • CP/M과의 역호환성.CP/M 파일 시스템(및 마이크로소프트 BASIC에서 구현된 원래 8비트 FAT도)은 128바이트의 "레코드"의 배수로만 파일의 길이를 기록했기 때문에, 관례상 Control-Z 문자는 레코드의 중간에 끝나는 경우 의미 있는 데이터의 끝을 표시하기 위해 사용되었다.86-DOS와 MS-DOS로 도입된 FAT12 파일 시스템은 항상 정확한 바이트 길이의 파일을 기록해왔기 때문에 DOS에서는 이것이 결코 필요하지 않았다.
  • 그것은 프로그램들이 동일한 코드를 사용하여 터미널과 텍스트 파일 모두의 입력을 읽을 수 있게 한다.

ANSI X3.27-1969 마그네틱 테이프 표준에서 파일의 끝을 테이프 마크로 표시했는데, 테이프 마크는 약 3.5인치, 9트랙 테이프는 13(헥스), 7트랙 테이프는 17(옥탈)의 문자가 포함된 단일 바이트로 구성되었다.[5]일반적으로 EOT로 약칭되는 테이프의 끝부분은 두 개의 테이프 마크로 표시되었다.예를 들어, 이것은 IBM 360에서 사용된 표준이었습니다.테이프의 물리적 끝이 임박했음을 알리는 데 사용된 반사 스트립EOT 마커라고도 불렸다.

참고 항목

참조

  1. ^ Pollock, Wayne. "Shell Here Document Overview". hccfl.edu. Archived from the original on 2014-05-29. Retrieved 2014-05-28.
  2. ^ "The GNU C Library". www.gnu.org.
  3. ^ "Table of IO Device Characteristics - Console or Teletypewriters". PDP-6 Multiprogramming System Manual (PDF). Maynard, Massachusetts, USA: Digital Equipment Corporation (DEC). 1965. p. 43. DEC-6-0-EX-SYS-UM-IP-PRE00. Archived (PDF) from the original on 2014-07-14. Retrieved 2014-07-10. (1+84+10페이지)
  4. ^ "5.1.1.1.장치 의존적 기능-데이터 모드-정보 통신 소프트웨어 A(ASCII)과 AL(아스키 선)".PDP-10 기준 핸드 북:모니터-Time-Sharing을 모니터링(PDF)과 의사 소통하는 것.Vol3. 디지털 이큅먼트 코퍼레이션(DEC). 1969년.를 대신하여 서명함. 5– 5-6[5-5(431)].그 2011-11-15에 원래에서Archived(PDF)..(207페이지)2014-07-10 Retrieved
  5. ^ "Tape Transfer (Pre-1977): Exchange Media: MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media (Library of Congress)". www.loc.gov.