Есть массив: int region_coordinates[10][4];
Как его проще всего записать данные из него в файл, а потом их оттуда прочитать и записать обратно в массив?
Сейчас такой костыль, чтение:
int i_regions=1;
char filename[11];
int temp_coordinates[4];
for (i_regions = 0; i_regions <= 9; i_regions++)
{
snprintf(filename,254,"region_%d.bin",i_regions);
int settings_file = open(filename, O_RDONLY);
read(settings_file,temp_coordinates,4*4);
close(settings_file);
region_coordinates[i_regions][0]=temp_coordinates[0];
region_coordinates[i_regions][1]=temp_coordinates[1];
region_coordinates[i_regions][2]=temp_coordinates[2];
region_coordinates[i_regions][3]=temp_coordinates[3];
}
Сохранение:
int temp_coordinates[4];
int i_regions=1;
char filename[11];
for (i_regions = 0; i_regions <= 9; i_regions++)
{
snprintf(filename,254,"region_%d.bin",i_regions);
int settings_file = open(filename, O_WRONLY | O_CREAT);
temp_coordinates[0]=region_coordinates[i_regions][0];
temp_coordinates[1]=region_coordinates[i_regions][1];
temp_coordinates[2]=region_coordinates[i_regions][2];
temp_coordinates[3]=region_coordinates[i_regions][3];
write(settings_file,temp_coordinates,4*4);
close(settings_file);
}