EOF
EOF (abreviatura de end-of-file, fin de fichero en inglés) es un indicador o marca de que no hay más información que recuperar de una fuente de datos. La fuente de datos puede ser un fichero o un flujo de datos (stream). Conceptualmente en caso de un fichero indica que se llegó al final del mismo, en caso de un stream es que se finalizó la transmisión o transferencia de datos.
A nivel Sistema Operativo
A nivel sistema operativo, el indicador de fin de archivo es dependiente del sistema de archivos donde se encuentre almacenado el fichero o el protocolo de transmisión asociado al stream. Por ejemplo, FAT 16 tiene como indicador de fin de archivo el valor FFF8-FFFFh, otro ejemplo puede ser el protocolo FTP, en modo de transferencia por flujo (STREAM Mode) el indicador de fin de archivo (o de flujo) se representa por dos bytes, el primero son todos unos, y el segundo byte es todos en cero excepto bit de posición 2 (en hexa 02h).
En programación
En programación, EOF es un concepto para determinar el final de un archivo. Muchos lenguajes de programación tienen formas de detectar el final de archivo como condicionante para la lectura de un flujo de datos.
Algunos ejemplos:
/* Ejemplo en C */
/* Se abre el archivo o stream y demas tareas... */
....
/* Se procede a la lectura */
while (!feof(&fd))
{
/* Leyendo hasta que se termine */
...
}
/* Ejemplo en C++ */
/* Se abre el archivo o stream y demas tareas... */
....
/* Se procede a la lectura */
while (!fd.eof())
{
/* Leyendo hasta que se termine */
...
}
El carácter EOF existe en la tabla ASCII aunque no es este el carácter que indica el fin-de-archivo en la fuente de datos, ya que un fichero no contiene como último byte el carácter EOF.
En la biblioteca estándar de C, el acceso a un fichero y otras funciones I/O pueden devolver un valor igual al simbólico EOF para indicar que la condición end-of-file se ha cumplido. Ej:
/* Ejemplo en C */
/* Se abre el archivo o stream y demas tareas... */
....
/* Se procede a la lectura */
while (!feof(&fd))
{
/* Leyendo hasta que se termine */
op_result = fread ((void*)buffer, sizeof(int), 1, &fd);
/* Chequeamos el resultado de la operacion */
if (op_result == EOF)
break;
/* Se trabaja con el buffer */
.....
}
La interpretación de C como resultado de la operación de lectura en caso de ser EOF es, por lo general, -1.
Shell y caracteres de escape
En UNIX se puede generar un EOF desde el shell (consola) tecleando Ctrl+D para indicar el EOF de datos ingresados por teclado, así como en Microsoft DOS y Windows se genera mediante la combinación Ctrl+Z.
Enlaces externos
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.