最近工作中遇到了需要把hex文件转换为bin文件的需求,于是写了程序实现转换,至于hex文件解析什么的网上都有,就不说了,直接贴代码,流程是通过用结构体解析hex文件的每一行,然后根据地址去组装数据
#include <string>
#include <vector>
#include <map>
//hex文件解析的结构体
struct SHexFileData
{
BYTE m_data_length_; //数据长度
DWORD m_data_start_address_; //数据地址
BYTE m_data_type_; //数据类型
string m_data_; //数据
};
void CombinationHexFileData(const vector<SHexFileData> &vecHexFileData, map<DWORD, string> &mapAddressData);
size_t HexStrToHex(const std::string &strData)
{
if (strData.size() > 8)
{
retrurn 0;
}
size_t sum = 0;
for (size_t index = 0; index < strData.size(); ++index)
{
char ctmp = ::tolower(strData[index]);
size_t tmp = 0;
if (ctmp >= '0'
&& ctmp <= '