stringtranslate.com

Fin del documento

En informática , el fin de archivo ( EOF ) [1] es una condición en un sistema operativo de computadora donde no se pueden leer más datos de una fuente de datos. La fuente de datos suele denominarse archivo o secuencia .

Detalles

En la biblioteca estándar de C , las funciones de lectura de caracteres como getchar devuelven un valor igual al valor simbólico (macro) EOFpara indicar que se ha producido una condición de fin de archivo. El valor real de EOFdepende de la implementación y debe ser negativo (pero comúnmente es −1, como en glibc [2] ). Las funciones de lectura de bloques devuelven el número de bytes leídos y, si es menor de lo solicitado, se alcanzó el final del archivo o se produjo un error (comprobación errnoo función dedicada, como ferrorla necesaria para determinar cuál).

personaje EOF

La entrada desde una terminal nunca "termina" realmente (a menos que el dispositivo esté desconectado), pero es útil ingresar más de un "archivo" en una terminal, por lo que se reserva una secuencia de teclas para indicar el final de la entrada. En UNIX, la traducción de la pulsación de tecla a EOF la realiza el controlador del terminal, por lo que un programa no necesita distinguir los terminales de otros archivos de entrada. De forma predeterminada, el controlador convierte un carácter Control-D al comienzo de una línea en un indicador de fin de archivo. Para insertar un carácter Control-D (ASCII 04) real en el flujo de entrada, el usuario lo precede con un carácter de comando "comilla" (generalmente Control-V ). AmigaDOS es similar pero usa Control-\ en lugar de Control-D.

En DOS y Windows (y en CP/M y muchos sistemas operativos DEC como el monitor PDP-6 , [3] RT-11 , VMS o TOPS-10 [4] ), la lectura desde el terminal nunca producirá un EOF. En cambio, los programas reconocen que la fuente es una terminal (u otro "dispositivo de caracteres") e interpretan un carácter o secuencia reservada determinada como un indicador de fin de archivo; lo más común es que sea un Control-Z ASCII , código 26. Algunos programas de MS-DOS, incluidas partes del shell de Microsoft MS-DOS ( COMMAND.COM ) y programas de utilidad del sistema operativo (como EDLIN ), tratan un Control-Z en un archivo de texto para marcar el final de datos significativos y/o agregar Control-Z al final al escribir un archivo de texto. Esto se hizo por dos razones:

En el estándar de cinta magnética ANSI X3.27-1969 , el final del archivo se indicaba mediante una marca de cinta , que consistía en un espacio de aproximadamente 3,5 pulgadas de cinta seguido de un solo byte que contenía el carácter 13 (hexadecimal) para nueve pistas. cintas y 17 (octal) para cintas de siete pistas . [5] El final de la cinta , comúnmente abreviado como EOT , estaba indicado por dos marcas de cinta. Este era el estándar utilizado, por ejemplo, en IBM 360 . La tira reflectante que se utilizó para anunciar el inminente fin físico de la cinta también se llamó marcador EOT .

Ver también

Referencias

  1. ^ Pollock, Wayne. "Descripción general del documento Shell Here". hccfl.edu. Archivado desde el original el 29 de mayo de 2014 . Consultado el 28 de mayo de 2014 .
  2. ^ "La biblioteca GNU C". www.gnu.org .
  3. ^ "Tabla de características de dispositivos IO: consola o teletipos". Manual del sistema de multiprogramación PDP-6 (PDF) . Maynard, Massachusetts, EE.UU.: Digital Equipment Corporation (DEC). 1965. pág. 43. DIC-6-0-EX-SYS-UM-IP-PRE00. Archivado (PDF) desde el original el 14 de julio de 2014 . Consultado el 10 de julio de 2014 .(1+84+10 páginas)
  4. ^ "5.1.1.1. Funciones dependientes del dispositivo - Modos de datos - Software Full-Duplex A (ASCII) y AL (Línea ASCII)". Manual de referencia de PDP-10: Comunicación con el monitor: monitores de tiempo compartido (PDF) . vol. 3. Corporación de Equipos Digitales (DEC). 1969. págs. 5-3 - 5-6 [5-5 (431)]. Archivado (PDF) desde el original el 15 de noviembre de 2011 . Consultado el 10 de julio de 2014 .(207 páginas)
  5. ^ "Transferencia de cinta (anterior a 1977): medios de intercambio: especificaciones MARC 21 para estructura de registros, conjuntos de caracteres y medios de intercambio (Biblioteca del Congreso)". www.loc.gov .