我正在尝试使用二进制文件将数据保存在其中。但是我不明白如何以2D数组形式进行读写。我知道如何从二进制文件读取数组/结构等,我只是不知道如何使用2D数组来做到这一点。
我已经看过与此类似的问题,但是我不了解大多数人的看法。我只想知道一个人如何以2D阵列格式读取/写入数据。如fwrite(x,y,z,w);
这是我的数组的样子:
int array[50][100];
我不知道从现在开始该怎么做,如果是一维的话;
FILE* fp;
fp = fopen("file.bin","wb+");
fwrite(array, sizeof(int), 50, fp);
但是由于该数组是多维的,所以我实际上不知道要在该函数中放置什么。
谢谢。
请注意,我在编码方面还很陌生,可能看不到非常简单的解决方案。
答案 0 :(得分:0)
保存二维数组的方法与保存一维数组非常相似,的确如您在问题注释中所写:
fwrite(array, sizeof(int), 50*100, fp);
这是因为二维数组(在这种情况下为int
)的存储方式与一维数组的存储方式相同;不间断的int
链。但是,只要与保存/加载保持一致,就可以用任何方式保存它。 fwrite
以指针作为参数,因此只要您传递给它的数据是数组就可以使用。