22 lines
684 B
C
22 lines
684 B
C
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <string.h>
|
|
|
|
// Conteneur de bits (0/1 stockés dans uint8_t)
|
|
typedef struct {
|
|
uint8_t *bits; // tableau de 0/1
|
|
size_t nb_bits; // nombre total de bits
|
|
} bit_array;
|
|
|
|
// Lire un fichier binaire et le transformer en tableau de bits (0/1)
|
|
bit_array file_to_bits(const char *filename);
|
|
|
|
// Transformer un tableau de bits (0/1) en fichier binaire
|
|
int bits_to_file(const char *filename, const bit_array *arr);
|
|
|
|
// Génère un nom du type "output.<ext>" où <ext> est l'extension du fichier d'entrée
|
|
char* make_output_filename(const char *input_filename);
|
|
|
|
// Libérer la mémoire du bit_array
|
|
void free_bit_array(bit_array *arr);
|