将C语言中的数组转为Bin文件—附带GitHub源码

缘由:

项目中用到了屏幕,一款TFT LCD屏幕,需要做界面。其中有一些图片的界面,图片是已经设计好的,需要将图片转成数组,然后放到工程中使用。图片少的时候还可以一个个的转换,放到工程中,后来图片多了,需要放到片外的Flash,这个时候需要将图片转换为Bin文件,下载到外部Flash中。根据这个需求,做了一个小工具来做转换。

功能简介:

例如有两个文件

文件 file001.c 内容:const unsigned char array001[4] = {0x11,0x11,0x11,0x11};

文件 file002.c 内容:const unsigned char array001[4] = {0x12,0x12,0x12,0x12};

将上述两个文件file001.c和file002.c中数组的数值提取出来,保存到output.bin中。

工具界面:

将C语言中的数组转为Bin文件—附带GitHub源码_第1张图片

使用方法:

1. 点击,初始化,会将之前生成的log.txt与output.bin删除掉。

2. 点击,添加数组,选择Demo数据中的各个文件,可以一次选择一个,可以一次选择多个。

添加后,会生成一个log.txt,里面显示了数组被添加的顺序。

生成output.bin,这个是所有数组提取后生成的bin文件。

关于Demo数据

更多Demo数据,请看:https://github.com/ensky16/FileToBin/tree/master/Release/DemoData/arrayTxt

1. 1  文件名字和文件中的数组名建议使用英文。

2.1 块注释可以正常识别

例如,如下数据,可以正确识别。

const unsigned char array001[4] = {0x12,/test data******/      //只提取0x12

0x12, /8test 0x88******/      //只提取0x12

//0xAB,0xCD     //一个字节都不提取

0x12,0x12   //提取0x12 0x12

};

2.2行注释暂时无法正常识别。

如果有行注释,那么本行数据都会被放弃掉,这个地方没有处理好,所以先不要使用行注释。 例如: 0xAA, //this is 0x12 那么这一行数据都会被放弃掉,0xAA并不会被提取出来。

数据格式目前只支持0xAA这一类,必须带有0x.    如果数据是半个字节,比如0xA,那么会被补齐,补为0x0A.

2.3选择文件的时候,注意看文本框,如果文本框中的文件名字显示不完整了,那么就少选择一个文件。比如一次选择100个文件,发现到第99个的时候,文件名字已经不完整了,那么一次就最多选择98个文件。

开发IDE:VisualStudio2010,C,C++

软件下载:https://download.csdn.net/download/qingtianjushi/12555428

SourceCode:https://github.com/ensky16/FileToBin

你可能感兴趣的:(将C语言中的数组转为Bin文件—附带GitHub源码)