You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simulacion-permeabilidad/fftma_module/gen/lib_src/file_array.c

38 lines
1.0 KiB
C

#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;
}