Как мне читать / записывать в двоичный файл в виде 2D-массива? - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь использовать двоичный файл для хранения своих данных. Но я не понимаю, как я могу читать / писать в 2D-форме массива. Я знаю, как читать массивы / структуры и т. Д. Из двоичных файлов, я просто не знаю, как мне это сделать с 2D-массивом.

Я смотрел на подобные вопросы к этому, но я не понимал, к чему стремится большинство людей. Я просто хочу знать, как можно читать / записывать данные в формате 2D Array. как в fwrite (x, y, z, w); .

Вот как выглядит мой массив:

int array[50][100];

Я не знаю, что теперь делать, если бы это было 1-мерное, я бы сделал;

FILE* fp;
fp = fopen("file.bin","wb+");
fwrite(array, sizeof(int), 50, fp);

но поскольку этот массив является многомерным, я на самом деле не знаю, что добавить в эту функцию.

Заранее спасибо.

Обратите внимание, что я довольно новичок в кодировании и, возможно, я не вижу довольно простого решения.

1 Ответ

0 голосов
/ 31 мая 2019

Метод сохранения 2-мерного массива будет очень похож на сохранение 1-мерного массива, это действительно так, как вы написали в комментарии к вопросу:

fwrite(array, sizeof(int), 50*100, fp);

Это потому, что2-мерный (в данном случае int) массив хранится идентично тому, каким был бы 1-мерный массив;непрерывная цепь int с.Тем не менее, вы можете сохранить его любым удобным вам способом, если вы сохраняете согласованность с сохранением / загрузкой.fwrite принимает указатель в качестве аргумента, поэтому, пока данные, которые вы передаете ему, являются массивом, он будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...