Escribir archivo con C usando fprintf

Escribir archivo con C

Hoy vamos a ver cómo escribir o agregar contenido (cadenas, números, etcétera) a un archivo de texto o fichero txt en C, utilizando la función fopen, fprintf y fclose.

Escribir archivo con C

Abriendo archivo con fopen para posteriormente escribir contenido con fprintf

Verás que es muy sencillo escribir contenido a un archivo en C. Vamos a ver dos maneras de apertura del archivo; una sirve para truncar el archivo y escribir el contenido, es decir, sobrescribir.

La segunda forma adjunta o añade el contenido al ya existente.

La función fprintf

Esta función es sencilla. Funciona como printf pero escribe el resultado en un archivo o apuntador a un archivo o tipo FILE. Su sintaxis es la siguiente:

fprintf(archivo, formato, variables del formato...);

Es decir, así como printf tiene la sintaxis:

printf(formato, variables del formato...);

Lo mismo pasa con fprintf. Por ejemplo, para escribir una cadena sería:

fprintf(archivo, "Hola mundo");

Como no hay especificadores de formato en la cadena, no debemos pasar variables de formato. En cambio, en el siguiente caso sí:

fprintf(archivo, "La edad es %d y el género es %s", 23, "M");

En este caso como usamos %d y %s tuvimos que poner los valores; si no hay especificadores de formato no es necesario pasar los últimos argumentos.

Los modos de apertura

Existen varios modos de apertura; ya vimos por ejemplo el modo para leer un archivo. Para escribir contenido vamos a ver dos:

  • w: sobrescribir el contenido
  • a+: agregar el contenido

Es decir, con w se elimina todo el contenido del archivo y se agrega el nuevo. En cambio con a+ se adjunta el nuevo contenido al ya existente.

Nota: ambos modos crean el archivo si no existe

Escribir archivo con C

Una vez que hemos explicado los modos y la función, vamos a ver el ejemplo de código. En este caso abrimos el archivo con fopen, y si no se regresa NULL entonces le escribimos contenido.

Es decir, fopen regresa NULL si no se pudo abrir el archivo, ya sea porque no hay permisos, porque el nombre no existe o cosas así.

Después con fprintf escribimos el contenido, podemos invocar a esta función cuantas veces sea necesario; eso sí, al final debemos cerrar el archivo.

En mi caso el archivo resultante es:

Probar código para escribir archivo con C

Si quieres puedes ejecutar este código en línea.

Te invito a ver cómo leer el contenido de un archivo en este post.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *