概述
二进制的文件的文件头为16字节,其组成为
44 33 22 11 +4字节文件总数*64+填充00
例如:
44 33 22 11 40 00 00 00 00 00 00 00 00 00 00 00
代表只有1个文件
使用QT的QByteArray来构造这个文件头,代码如下
void MakePackHead(qint32 filenum)
{
//生成文件头数据
QByteArray head=QByteArray::fromHex("44332211");
qint32
num=filenum*64;
head.append((char*)&num,4);
head.append(QByteArray::fromHex("00000000"));
head.append(QByteArray::fromHex("00000000"));
//写入文件
QFile writefile;
QDataStream stream;
QString storepath="data.bin";
writefile.setFileName(storepath);
writefile.open(QIODevice::WriteOnly);
stream.setDevice(&writefile);
stream.writeRawData(data.data(),16);
writefile.close();
}
最后
以上就是精明微笑为你收集整理的QT5.9学习笔记之QByteArray与QDataStream生成二进制文件的全部内容,希望文章能够帮你解决QT5.9学习笔记之QByteArray与QDataStream生成二进制文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复