Linux 下通过C 语言把 C语言的数组写为二进制文件
创始人
2025-05-29 06:26:05
0

功能描述

  • 有个一个C 语言的数组,比如把一个二进制文件 dump 成一个 C语言的数组,然后输出到开发板的串口终端,想再把这个二进制的C 语言数组复制到电脑上,写为二进制文件。

  • 二进制的C 语言的数组:使用 0x00~0xFF 表示的数组,格式如下:

unsigned char buf_0xa0000000_512[] = {0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0x00, 0xa0,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0x58, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xa0,0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x2c, 0x20, 0x64, 0x65,0x62, 0x75, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x20,0x3d, 0x20, 0x30, 0x78, 0x61, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x64, 0x65,0x62, 0x75, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,0x68, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x31, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x64, 0x65, 0x62, 0x75,0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xa0, 0x20, 0x01, 0x00, 0xa0,0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x2c, 0x20, 0x73, 0x68
};

目标

  • 把C 语言的二进制 数组写为二进制的文件

  • 由于数组的每个值,如 0x6e,就表示二进制的一个字符,所以数组的内容不需要任何的格式转换,直接存储到文件即可。

  • 为何有这么个需求?一般嵌入式硬件开发板中,没有很好的导出文件的方法,当然可以尝试使用 YModem 之类的串口终端传输文件,如果没有这些工具,则把开发板中的文件导出来,比较的繁琐。

  • 当前的思路是:把开发板的二进制文件, dump 拼接为成一个 C 语言的数组,再把这个 C语言的数组复制出来,写成文件。

相关代码

  • 由于思路比较简单,所以操作起来也不难,就是创建文件,写文件而已。

  • C语言的字符数组(二进制数组),可以直接写入到文件,当然 dump C 语言数组时,留意 内存的大小端即可

#include
#include
#include
#includeunsigned char buf_0xa0000000_512[] = {0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0x00, 0xa0,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0x58, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xa0,0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x2c, 0x20, 0x64, 0x65,0x62, 0x75, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x20,0x3d, 0x20, 0x30, 0x78, 0x61, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x64, 0x65,0x62, 0x75, 0x67, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,0x68, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x31, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x64, 0x65, 0x62, 0x75,0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xa0, 0x20, 0x01, 0x00, 0xa0,0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x2c, 0x20, 0x73, 0x68,0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x30, 0x78, 0x39, 0x61,0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x6d, 0x6d, 0x69, 0x6f, 0x5f, 0x62, 0x61, 0x73,0x65, 0x3a, 0x20, 0x30, 0x2c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x3a, 0x20, 0x2d, 0x31, 0x0a, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x02, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xa0, 0xa0, 0x01, 0x00, 0xa0,0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x3a, 0x20, 0x64, 0x65,0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20,0x33, 0x2c, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x6f, 0x66,0x66, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,0x5f, 0x69, 0x72, 0x71, 0x5f, 0x62, 0x69, 0x74, 0x20, 0x3d, 0x20, 0x33, 0x2c, 0x20, 0x64, 0x65,0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x72, 0x71, 0x20, 0x3d, 0x20, 0x34, 0x0a, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0xa0, 0x00, 0x02, 0x00, 0xa0,0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x3a, 0x20, 0x68, 0x6f,0x73, 0x74, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x2c,0x20, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x62,0x69, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0xa0, 0x60, 0x02, 0x00, 0xa0,0x68, 0x6f, 0x73, 0x74, 0x2f, 0x64, 0x73, 0x70, 0x20, 0x61, 0x64, 0x64, 0x72, 0x3a, 0x20, 0x30,0x78, 0x38, 0x66, 0x66, 0x30, 0x30, 0x30, 0x63, 0x30, 0x2c, 0x20, 0x30, 0x78, 0x38, 0x66, 0x66,0x30, 0x30, 0x32, 0x38, 0x30, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa0, 0xc0, 0x02, 0x00, 0xa0,0x78, 0x72, 0x70, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x2c,0x20, 0x30, 0x78, 0x33, 0x33, 0x31, 0x30, 0x32, 0x61, 0x32, 0x38, 0x2c, 0x20, 0x30, 0x78, 0x38,0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x06, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0xa0, 0x20, 0x03, 0x00, 0xa0,0x78, 0x72, 0x70, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x72,0x71, 0x2c, 0x20, 0x30, 0x78, 0x33, 0x33, 0x31, 0x30, 0x32, 0x61, 0x30, 0x63, 0x2c, 0x20, 0x30,0x78, 0x34, 0x30, 0x30, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0xc0, 0x02, 0x00, 0xa0, 0x80, 0x03, 0x00, 0xa0,0x5b, 0x56, 0x43, 0x44, 0x5d, 0x20, 0x64, 0x6f, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61,0x6b, 0x65, 0x3a, 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x08, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0xa0, 0xe0, 0x03, 0x00, 0xa0,0x1b, 0x5b, 0x33, 0x36, 0x3b, 0x32, 0x32, 0x6d, 0x49, 0x2f, 0x62, 0x73, 0x74, 0x2d, 0x63, 0x76,0x20, 0x20, 0x20, 0x5b, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,0x30, 0x32, 0x31, 0x5d, 0x20, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x42, 0x53, 0x54, 0x20, 0x43,0x56, 0x21, 0x1b, 0x5b, 0x30, 0x6d, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x09, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xa0, 0x40, 0x04, 0x00, 0xa0,0x78, 0x72, 0x70, 0x5f, 0x69, 0x72, 0x71, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x2c,0x20, 0x30, 0x78, 0x33, 0x33, 0x31, 0x30, 0x32, 0x61, 0x32, 0x38, 0x2c, 0x20, 0x30, 0x78, 0x38,0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x0a, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0xa0, 0xa0, 0x04, 0x00, 0xa0,0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x6f, 0x6f, 0x70,0x3a, 0x20, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,0x73, 0x74, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x0b, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0xa0, 0x00, 0x05, 0x00, 0xa0,0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20,0x38, 0x39, 0x30, 0x2c, 0x20, 0x30, 0x78, 0x39, 0x61, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x0c, 0x00, 0x00, 0x00, 0xa0, 0x04, 0x00, 0xa0, 0x60, 0x05, 0x00, 0xa0,0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20,0x38, 0x39, 0x31, 0x2c, 0x20, 0x36, 0x34, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x58, 0x52, 0xff, 0xff, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0xa0, 0xc0, 0x05, 0x00, 0xa0,0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20,0x39, 0x30, 0x33, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0xff, 0xff, 0xff, 0xff, 0x0e, 0x00, 0x00, 0x00, 0x60, 0x05, 0x00, 0xa0, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};int main()
{int fd = open("file.bin",O_WRONLY | O_CREAT, 0600);if (fd < 0){printf("create file error, fd = %d\n", fd);}printf("fd=%d\n",fd);write(fd,buf_0xa0000000_512, sizeof(buf_0xa0000000_512));close(fd);return 0;
}

编译与运行

  • 在 Linux 平台 如 ubuntu 上,使用 gcc 进行编译

  • 编译方法:$ gcc log_write.c -o log_write

在这里插入图片描述

  • 运行方法: $ ./log_write,运行后查看一下,发现生成了相应的二进制的文件

  • 可以使用二进制的工具软件查看生成的二进制文件内容

  • 验证发现可以把C 语言数组 正常的写入到文件

在这里插入图片描述

小结

  • 文件的一些操作在Linux C 语言下其实不复杂,一般是 open write close 的 文件 posix API 的操作

  • 打开一个文件, read 出来的内容,其实就是 二进制的字符数组

  • 可以通过把二进制文件的每个字节,转换成 十六进制表示,如 3 -> 0x30,这样可以做到在没有文件传输方式的情况下,把二进制文件通过数组的方式,一点点捞出来。

上一篇:Snackbar

下一篇:线程池原理

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...