Если их размер фиксирован, вы можете просто fwrite
указать их в файле, фактически выгрузив представление их памяти на диск (вы можете сделать это, даже если их размер не фиксирован, но все становится немного сложнее).
int someInts[50];
double someDoubles[25];
FILE * fp;
/* Write */
fp = fopen(/* ... */);
fwrite(someInts, sizeof(someInts), 1, fp);
fwrite(someDoubles, sizeof(someDoubles), 1, fp);
fclose(fp);
/* Read */
fp = fopen(/* ... */);
fread(someInts, sizeof(someInts), 1, fp);
fread(someDoubles, sizeof(someDoubles), 1, fp);
fclose(fp);
(обработка ошибок для краткости опущена)
Я не думаю, что есть более быстрые или более простые методы, но имейте в виду, что, если это не просто игрушечный проект, вы должныдобавьте несколько заголовков (которые вы можете обрабатывать как структуру в fwrite / fread), чтобы убедиться, что вы читаете файл, сгенерированный вашим приложением.
Недостатком этого метода является то, что его сложнее редактироватьhand ", и, если такие файлы нужно будет передавать между разными платформами, у вас возникнут проблемы, если разные платформы будут иметь разные порядковые номера и разные размеры для сохраняемых типов.Обратите внимание, что вы можете обойти эти проблемы, но код станет более сложным.
Другой альтернативой (которая, тем не менее, будучи базой данных SQL воспринимается как «естественная» не во всех ситуациях), может быть использование базы данных SQLite : как говорится на их сайте:
SQLite - это встроенный движок базы данных SQL.В отличие от большинства других баз данных SQL, SQLite не имеет отдельного серверного процесса.SQLite читает и пишет напрямую в обычные файлы на диске.Полная база данных SQL с несколькими таблицами, индексами, триггерами и представлениями содержится в одном файле на диске. Формат файла базы данных - кроссплатформенный - вы можете свободно копировать базу данных между 32-разрядными и 64-разрядными системами или между архитектурами с прямым и младшим порядком байтов.Эти функции делают SQLite популярным выбором в качестве формата файла приложения .Подумайте о SQLite не как о замене Oracle, а как о замене fopen ()
(акцент сделан на функции, соответствующие вашим требованиям)
Возможно, вы захотитевзгляните на страницу « Подходящее использование для SQLite ».