给定一个名为"data.bin"的文件,该文件是一个100*80的矩阵,怎么将它导入到一个二维数组中,用c实现并注释
时间: 2024-03-16 17:47:41 浏览: 62
好的,以下是注释版的代码实现:
```c
#include <stdio.h>
int main() {
// 打开文件,读取数据
FILE *fp;
fp = fopen("data.bin", "rb"); // 以二进制模式打开文件
if (fp == NULL) {
printf("Failed to open file\n");
return -1;
}
int data[100][80]; // 定义一维数组,用于存储读取的数据
fread(data, sizeof(int), 100*80, fp); // 读取数据到数组中
fclose(fp); // 关闭文件
// 将读取的数据存入二维数组中
int array[100][80];
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 80; j++) {
array[i][j] = data[i*80 + j]; // 根据一维数组的下标计算二维数组的下标,并将数据存入二维数组
}
}
return 0;
}
```
在上述代码中,我们首先通过fopen函数打开文件,并使用fread函数将文件中的数据读入到一维数组data中。接着,我们使用双重循环遍历data数组,根据一维数组的下标计算二维数组的下标,并将数据存入二维数组array中。最后,我们关闭文件并返回0表示程序正常运行结束。
阅读全文