c语言读取int16二进制文件
时间: 2023-12-31 15:06:58 浏览: 105
读取int16二进制文件可以使用C语言中的文件操作函数。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
short int *data;
int i, num_samples;
fp = fopen("data.bin", "rb");
if (fp == NULL) {
printf("Error opening file.\n");
exit(1);
}
fseek(fp, 0L, SEEK_END);
num_samples = ftell(fp) / sizeof(short int);
rewind(fp);
data = (short int *) malloc(num_samples * sizeof(short int));
fread(data, sizeof(short int), num_samples, fp);
for (i = 0; i < num_samples; i++) {
printf("%d\n", data[i]);
}
free(data);
fclose(fp);
return 0;
}
```
在这个示例中,我们打开一个名为"data.bin"的二进制文件,它包含了16位有符号整数,每个样本占用两个字节。我们首先使用fseek函数将文件指针移动到文件结尾,然后使用ftell函数获取文件的大小。接下来,我们使用rewind函数将文件指针移动回文件开头,并使用malloc函数为数据分配内存。最后,我们使用fread函数读取文件中的数据,并使用循环打印每个样本的值。最后,我们使用free函数释放数据内存,并使用fclose函数关闭文件。
需要注意的是,这个示例中假设数据文件中的所有样本都是16位有符号整数,如果文件中包含其他类型的数据,代码需要进行相应的修改。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)