因工作需要,又转化、读取了一次BIN文件,其实之前写过,就是想不起来,所以记一下笔记,以防下次再用!
typedef struct
{
uint32_t AddressStart = 0;
uint32_t DataLen = 0;
QByteArray Data = nullptr;
} Section;
static QList<Section>* DataSections = nullptr;
static QString FrimwarePath;
static QString FrimwareName;
void LoadFrimware()
{
QFile Frimware(FrimwarePath);
QByteArray DataAllArray;
Section* SectionCurrent;
static int DateCountHex=0;
if (!Frimware.open (QFile::ReadOnly))
{
printf("Frimware.open_Wrong!\n"); //打开文件
return;
}
DataSections = new QList<Section>;
SectionCurrent = new Section();
DataAllArray=Frimware.readAll();
while(DataAllArray.size()>DateCountHex)
{
SectionCurrent->Data.append (DataAllArray[DateCountHex++]);
SectionCurrent->DataLen++;
}
DataSections->append (*SectionCurrent);
SectionCurrent = new Section ();
// SaveAsBinFile(); //将存到Qlist中的文件保存输出到一个新的BIN文件
}