给定一个名为"data.bin"的文件,该文件是一个100*80的矩阵,怎么将它写入到二维数组中,并输出验证是否成功,用c实现并注释
时间: 2024-03-16 21:47:53 浏览: 142
用于将bin文件转化为二进制数组的工具
5星 · 资源好评率100%
好的,以下是注释版的代码实现:
```c
#include <stdio.h>
int main() {
// 生成100*80矩阵的数据
int data[100][80];
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 80; j++) {
data[i][j] = i * 80 + j;
}
}
// 将数据写入文件中
FILE *fp;
fp = fopen("data.bin", "wb"); // 以二进制模式打开文件
if (fp == NULL) {
printf("Failed to open file\n");
return -1;
}
fwrite(data, sizeof(int), 100*80, fp); // 将数据写入文件
fclose(fp);
// 读取文件中的数据到二维数组中,并输出
fp = fopen("data.bin", "rb"); // 以二进制模式打开文件
if (fp == NULL) {
printf("Failed to open file\n");
return -1;
}
int array[100][80];
fread(array, sizeof(int), 100*80, fp); // 读取数据到数组中
fclose(fp);
// 验证数据是否正确读取
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 80; j++) {
if (array[i][j] != i * 80 + j) {
printf("Failed to read file\n");
return -1;
}
}
}
printf("Data read successfully\n");
return 0;
}
```
在上述代码中,我们首先生成了一个100*80的矩阵数据,然后将其写入到名为"data.bin"的文件中。具体来说,我们使用fopen函数打开文件,并使用fwrite函数将数据写入文件。接着,我们再次使用fopen函数打开文件,并使用fread函数将文件中的数据读入到二维数组array中。最后,我们遍历array数组,验证数据是否正确读取。
完整代码中的注释已经解释了各个步骤的作用,这里不再赘述。
阅读全文