#include "file_array.h" #include "stdbool.h" void file_array_free(file_array_t* file_array) { fclose(file_array->fp); free(file_array); } file_array_t* file_array_create(char* filename, size_t total_size) { file_array_t* file_array = (file_array_t*)malloc(sizeof(file_array_t)); file_array->fp = fopen(filename, "w+"); if (file_array == NULL || file_array->fp == NULL) { return NULL; } file_array->init_pos = 0; file_array->total_size = total_size; return file_array; } void file_array_read(file_array_t* file_array) { rewind(file_array->fp); file_array->init_pos = 0; } bool file_array_get(file_array_t* file_array, size_t pos, double *valor) { fseek(file_array->fp, pos * sizeof(double), SEEK_SET); fread(valor, sizeof(double), 1, file_array->fp); return true; } bool file_array_save(file_array_t* file_array, size_t pos, double valor) { fseek(file_array->fp, pos * sizeof(double), SEEK_SET); fwrite(&valor, sizeof(double), 1, file_array->fp); return true; }