Conceptos básicos de acceso a archivos secuenciales en la programación c

La forma más sencilla que la información de programación C se almacena en un archivo es secuencialmente, un byte después de la otra. El archivo contiene una larga secuencia de datos.

El acceso a archivos en C es simplemente otra forma de I / O. En lugar de ir a la pantalla, la entrada o salida va a un archivo. Se abre un archivo mediante el uso de los fopen () Función:

manejar = fopen (nombre de archivo, modo) -

La función fopen () requiere dos argumentos, ambas cadenas. La primera es una nombre del archivo- la segunda es una modo. La función fopen () devuelve un archivo encargarse de, que es un puntero utilizado para hacer referencia al archivo. Ese indicador es un tipo de archivo de la variable.

ModoDe archivo abierto para¿Crea un archivo?notas
"un"Al añadir?Se añade al final de un archivo existente de un archivo está creado si
doesn&rsquo-t existe.
”A +”Al añadir y leerse añade información al final del archivo.
“R”LeyendoNoSi el archivo doesn&rsquo-t existe, fopen () devuelve un error.
“R +”Leyendo y escribiendoNoSi el archivo doesn&rsquo-t existe, se devuelve un error.
“W”EscrituraEl archivo existente se sobrescribe si se utiliza el mismo nombre.
“W +”Escritura y la lecturaEl archivo existente se sobrescribe.

los modo es una cadena. Incluso cuando sólo se especifica un carácter, que debe ir entre comillas dobles.

Después de que el archivo está abierto, se utiliza el encargarse de variable para hacer referencia al archivo como leer y escribir. El archivo I / O funciones son similares a su E / S estándar homólogos, pero con un prefijo de f. Para escribir en un archivo, puede utilizar el fprintf (), fputs (), fputchar () y funciones similares. La lectura de un archivo utiliza los fscanf (), fgets (), y funciones similares.

Se cierra el archivo utilizando la función fclose () con el identificador de archivo como argumento.

Cómo escribir texto en un archivo

Escribir ese archivo muestra el proceso básico de la creación de un nuevo archivo, la escritura de texto a ese archivo, y luego cerrar el acceso a archivos.

ESCRIBIR QUE ARCHIVO

# include # include int main () {FILE * FH-fh = fopen ("hola.txt","w") -Si (FH == NULL) {puts ("No se puede abrir ese archivo!") -exit (1) -} fprintf (fh,"Mira lo que hice! N") -fclose (FH) -Retorno (0) -}

La línea 6 crea el identificador de archivo, FH. Es un puntero. Las tiendas puntero del resultado de la función fopen () de la línea 8. Se crea el hola.txt archivo usando el modo “w” (escritura). Si el archivo existe, es sobrescrito.

La sentencia if comprueba para confirmar que el archivo se ha abierto correctamente. Si no fue así, el valor de la HF es NULL, y se toman las medidas adecuadas.

La función fprintf () escribe texto en el archivo, en la línea 14. El formato es el mismo que para printf (), aunque el identificador de archivo debe ser incluido como un argumento.

Por último, la línea 15 cierra el archivo utilizando la función fclose (). Esta declaración es un paso necesario para cualquier programación de acceso a archivos.

Ejercicio 1: Copiar el código fuente del archivo de escribir que en su editor. Generar y ejecutar el programa.

La salida del programa pasa a un archivo, por lo que no se ve nada aparece cuando se ejecuta. Utilizar el explorador de archivos de su ordenador para localizar el archivo y abrirlo. O puede escribir un programa que lea el texto de ese mismo archivo.

Cómo leer el texto de un archivo

Las funciones de texto de lectura estándar de C se utilizan para leer el texto de un archivo de la misma manera que leen el texto desde el teclado. Para leer el texto un carácter a la vez, utilice la función fgetc ().

, Leer el archivo

# include # include int main () {FILE * FH-int ch-fh = fopen ("hola.txt","r") -Si (FH == NULL) {puts ("No se puede abrir ese archivo!") -exit (1) -} while ((CH = fgetc (FH)) = EOF) putchar (ch) -fclose (FH) -Retorno (0) -!}

Línea 9 en, leer el archivo abre el archivo hola.txt para sólo lectura. El archivo debe existir o de lo contrario se produce un error.

El bucle mientras que en la línea 15 muestra el contenido del archivo, un carácter a la vez. La función fgetc () lee un carácter del archivo identificado por FH mango. Ese carácter se almacena en variable ch. El resultado se compara con el final del archivo constante. Cuando hay una coincidencia, el archivo se ha leído completamente y se detiene el bucle while. De lo contrario, el personaje que ha leído se visualiza en la línea 16.

Ejercicio 2: Crear un nuevo programa con el código fuente mostrado en, leer el archivo. Generar y ejecutar.

Video: Introducción a la programación en C/C++ - Escribir en un archivo con fprintf

El programa muestra el contenido del archivo creado por Ejercicio 1- lo contrario, verá el mensaje de error.

Ejercicio 3: Modificar el código fuente del ejercicio 1 para escribir una segunda cadena en el archivo. Agregue la siguiente instrucción después de la línea 14:

fputs ("Mi programa en C escribió este file.n", FH) -

A diferencia del uso de los puts () declaración, es necesario especificar un carácter de nueva línea de fputs () de salida. Además, el argumento identificador de archivo aparece después de la cadena, lo cual es inusual para una función de archivo de lenguaje C.

Los dos archivos de escritura de funciones fprintf () y fputs () escribir texto en el archivo secuencialmente, uno por uno después del otro. El proceso funciona igual que la escritura de texto en la pantalla, sino que esos personajes se guardan en un archivo en el almacenamiento permanente.

La función fgets () lee una cadena entera de texto desde un archivo. Para que funcione, es necesario un buffer de entrada, el número de caracteres a leer, y el identificador de archivo.

Video: 113. Programación en C - Archivos - Ejercicio crear programa con menú para guardar emails (parte 1)

Tragando cadenas de texto

#include #include int main () {FILE buffer * fh-char [64] -fh = fopen ("hola.txt","r") -Si (FH == NULL) {puts ("No se puede abrir ese archivo!") -exit (1) -} while (fgets (buffer, 64, fh)) printf ("% s", Tampón) -fclose (FH) -Retorno (0) -}

La función fgets () aparece en la línea 15 como la condición del bucle while. Esto se debe a fgets () devuelve un puntero a la cadena que ha leído, y cuando se lee ninguna cadena, se devuelve un valor nulo. Ese valor se detiene el bucle. De lo contrario, la función printf () en la línea 16 muestra la entrada.

El tamaño del búfer y el tamaño de los caracteres leídos en tragando cadenas de texto son idénticos. Eso es porque el al final de la cadena se lee desde el archivo y no se interpreta como un marcador de fin de archivo.

Ejercicio 4: El código fuente de la tragando cadenas de texto en el editor. Generar y ejecutar.

Artículos Relacionados