Keep on going, never give up.

QT QByteArray与byte之间转换

一、byte*数组到QByteArray转换

推荐使用如下方法初始化,即使数组中有0也能完整赋值进去,因为QByteArray不认为'\0'就是结尾,无论是赋值还是打印输出,都会按照完整的size处理:

QByteArray byArr;
byte cmd[5]={'1','2','\0','3','4'}
byArr.resize(5);
for(int i=0;i<5;i++) {
   byArr[i]=cmd[i];
}

如果使用下面转换方法,当数组中包含0x00('\0')时,就会丢失之后的数据

QByteArray byArr = QByteArray((const char*)cmd);

二、byte*数组到QByteArray转换

int isize = byArr.size();
byte* pby = (byte*)(byArr.data());

 

参考:

http://blog.csdn.net/alan00000/article/details/8141605

http://blog.csdn.net/iamlate/article/details/6657142

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.