Tecnología

Inicio

¿Qué es un EOF en el lenguaje C?

En el C y C ++ lenguajes de programación, la recopilación de entrada y escribir en archivos de texto es una necesidad. Esta es una de las pocas formas de almacenar los datos durante largos períodos de tiempo por lo que el programa puede utilizar los datos a través de múltiples ejecuciones. Existen múltiples funciones para leer archivos de texto de diferentes maneras. Con el fin de indicar que una función ha alcanzado el final del archivo, un extremo de Archivo (EOF) existe símbolo. El programador puede comprobar la entrada para asegurarse de que no es el final del archivo, y la ejecución final de una función si el archivo ha sido leído en su totalidad.

Leer un archivo

La comprensión de cómo el símbolo EOF significa entender cómo funciona la entrada de archivos funciona. Normalmente, el programador carga el archivo en el programa a través de un puntero de archivo. El uso de las bibliotecas "stdio.h", el programador puede utilizar un puntero de archivo para hacer referencia a un archivo en la memoria, y luego o bien leer o escribir en el archivo. El siguiente ejemplo muestra cómo declarar y utilizar un puntero de archivo:

incluir "stdio.h"

int main () {

FILE * fp; // Puntero a un archivo

= fopen ( "c: \ archivo.txt", "r") // abre "archivo.txt" como de sólo lectura, y utiliza para hacer referencia a que fp

La lectura de un archivo

El programador lee entonces desde el archivo. Puede hacerlo utilizando el "fgetc ()" función, que será leído del archivo, un carácter a la vez. El "fgetc ()" función devuelve un valor entero, que se puede cambiar a un personaje por el programador para imprimir en la pantalla o por cualquier manipulación que se requiere:

int ch = fgetc (fp);

printf ( "% c", (char) ch);

Los punteros de archivos internos

Cuando la función "fgetc ()" lee un carácter, se mueve un puntero de archivo interno hacia adelante un espacio. Esto significa que a medida que un archivo es leído por la función, el archivo permanece siempre listo para otra lectura. ¿Cómo funciona el puntero del archivo interno no es importante para el programador o la función. Lo que es importante es que a medida que el puntero de archivo se mueve hacia adelante durante las lecturas exitosas, con el tiempo llegará al final del archivo; no será, por ejemplo, seguir leyendo el archivo más allá del tamaño del archivo.

El fin de archivo

Cuando el puntero del fichero pasa el carácter final, el "fgetc ()" función devolverá un valor entero negativo ligado a una macro llamada "EOF". Una macro es una redefinición de un valor en una forma más legible. El programador puede comprobar este valor mediante el uso de la macro "EOF". Si la función devuelve el valor, el programador puede detener la lectura del archivo y evitar cualquier error, como en este ejemplo:

int c;

while ((c = fgetc (fp))! = EOF) // cuando c contiene el valor EOF, el bucle se detendrá lectura

{

putchar (c);

}