给了一个名为"data.bin"的矩阵文件,矩阵是100*80,怎么将该文件导入到一个数组里,用c语言实现
时间: 2024-03-16 20:45:43 浏览: 51
好的,让我来为您提供一个读取二进制文件并将其存入数组的C语言代码:
```c
#include <stdio.h>
int main() {
FILE *fp; // 文件指针
int data[100][80]; // 定义二维数组
int n_rows = 100; // 数组行数
int n_cols = 80; // 数组列数
// 打开文件
fp = fopen("data.bin", "rb");
if (fp == NULL) {
printf("Error: Failed to open the file.\n");
return 1;
}
// 读取文件内容到数组中
fread(data, sizeof(int), n_rows * n_cols, fp);
// 关闭文件
fclose(fp);
// 输出数组中的内容,以验证读取是否成功
for (int i = 0; i < n_rows; i++) {
for (int j = 0; j < n_cols; j++) {
printf("%d ", data[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码首先定义了一个二维数组 data,行数为 100,列数为 80。然后,它打开了名为 "data.bin" 的二进制文件,并读取了文件内容到数组中。最后,它输出了数组中的内容,以验证读取是否成功。
需要注意的是,这个代码假设文件中的数据都是 int 类型的,如果实际情况不是这样,需要根据实际情况修改代码。另外,这个代码只能读取二进制文件,如果文件是文本文件,需要使用不同的方法读取。
希望这个代码能够帮到您,如果您有任何问题或疑惑,请随时提出,我会尽力给您解答。
阅读全文