如何在 C 中读取二进制文件

问题描述 投票:0回答:0

如何逐行读取二进制文件并将内容存储在 C 中

我有一个名为 add_num.mi 的二进制文件

现在我可以通过运行命令来检查文件的内容

xxd -c 4 add_nums.mi | head -n 9

现在这包含以下二进制信息

00000000: 1301 f07f  ....
00000004: ef00 c000  ....
00000008: b717 0000  ....
0000000c: 2386 0780  #...
00000010: b717 0000  ....
00000014: 1307 8004  ....
00000018: 2380 e780  #...
0000001c: 1305 0000  ....
00000020: 6780 0000  g...

我如何以编程方式在 C 代码中打印出来。

目前这是我所做的尝试,但它不能正常工作。

`#include <stdio.h>

int main() {
    FILE *fp;
    unsigned char ch;

    fp = fopen("examples/add_2_numbers/add_2_numbers.mi", "rb");
    if (fp == NULL) {
        printf("Error opening file\n");
        return 1;
    }

    while ((ch = fgetc(fp)) != EOF) {  // read file character by character
        printf("%c", ch);
    }

    fclose(fp);
    return 0;
}`
c binary fread
© www.soinside.com 2019 - 2024. All rights reserved.