博客介绍内容

Subscribe RSS FeedSubscribe Comments

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

相关评论:  

发表评论:

订阅博客

最新文章

Copyright information
MyBlog 1.8