Lenguaje C
En lenguaje C, los archivos binarios son aquellos que contienen datos en una forma no legible por humanos. Estos archivos se componen de secuencias de bits que se escriben en el disco sin procesamiento previo, y suelen ser utilizados para almacenar datos que deben ser procesados de manera eficiente, como imágenes, archivos de audio, bases de datos, entre otros.
Para trabajar con archivos binarios en C, se utilizan funciones de la biblioteca estándar como fopen
, fwrite
, fread
y fclose
. A continuación, se describen brevemente estas funciones:
fopen
: Esta función se utiliza para abrir un archivo y devolver un puntero a FILE que se utiliza en las funciones siguientes. Se puede abrir un archivo en diferentes modos, como «r» (lectura), «w» (escritura) y «a» (adjuntar).fwrite
: Esta función se utiliza para escribir datos en un archivo binario. Toma como argumentos un puntero al bloque de datos que se va a escribir, el tamaño de cada elemento, el número de elementos que se van a escribir y el puntero al archivo.fread
: Esta función se utiliza para leer datos de un archivo binario. Toma como argumentos un puntero al bloque de memoria donde se van a almacenar los datos leídos, el tamaño de cada elemento, el número de elementos que se van a leer y el puntero al archivo.fclose
: Esta función se utiliza para cerrar un archivo que se ha abierto previamente con la funciónfopen
.
A continuación, se presenta un ejemplo sencillo de cómo escribir y leer datos de un archivo binario en C:
#include <stdio.h>
int main() {
int datos[] = {1, 2, 3, 4, 5};
int n = sizeof(datos) / sizeof(int);
// Escribir datos en un archivo binario
FILE *archivo = fopen("datos.bin", "wb");
fwrite(datos, sizeof(int), n, archivo);
fclose(archivo);
// Leer datos de un archivo binario
archivo = fopen("datos.bin", "rb");
int datos_leidos[n];
fread(datos_leidos, sizeof(int), n, archivo);
fclose(archivo);
// Imprimir datos leídos
for (int i = 0; i < n; i++) {
printf("%d ", datos_leidos[i]);
}
printf("\n");
return 0;
}
En este ejemplo, primero se escribe el arreglo datos
en un archivo binario llamado «datos.bin» usando la función fwrite
. Luego se lee el archivo binario usando la función fread
, y se almacena el resultado en un arreglo llamado datos_leidos
. Finalmente, se imprime el contenido del arreglo datos_leidos
.