c语言创建数组读取bin文件内容
时间: 2023-08-16 08:09:35 浏览: 242
C语言中进行文件读写操作的简单示例代码
在C语言中,可以使用标准库函数 `fread` 来读取二进制文件内容,并将其存储到数组中。以下是一个例子:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
float *arr;
int n;
// 打开文件
fp = fopen("example.bin", "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 获取文件大小
fseek(fp, 0, SEEK_END);
n = ftell(fp) / sizeof(float);
rewind(fp);
// 创建数组
arr = (float*) malloc(n * sizeof(float));
if (arr == NULL) {
printf("Failed to allocate memory.\n");
return 1;
}
// 读取文件内容到数组中
fread(arr, sizeof(float), n, fp);
// 关闭文件
fclose(fp);
// 打印数组
for (int i = 0; i < n; i++) {
printf("%f ", arr[i]);
}
printf("\n");
// 释放内存
free(arr);
return 0;
}
```
在这个例子中,我们首先使用 `fopen` 函数打开二进制文件,并指定文件模式为 `"rb"`。然后,我们使用 `fseek` 和 `ftell` 函数获取文件大小,以便创建合适大小的数组。接下来,我们使用 `malloc` 函数动态分配数组内存。然后,我们使用 `fread` 函数将文件内容读取到数组中。最后,我们打印数组,并使用 `free` 函数释放内存。
需要注意的是,如果二进制文件中的数据类型和大小不同,需要相应地调整 `fread` 函数中每个元素的大小。另外,在使用完文件后,需要使用 `fclose` 函数关闭文件。
阅读全文