QT 串口接收

guozhixin 2010-03-26 03:38:15
给我我用的QT下的qextserialPort做的串口接收程序,可是现在遇到一个问题,接收到的数据,通过readall()函数,赋值到了一个Qbytearray的变量里,我自己建了一个结构体,暂时叫struct1吧,我想把Qbytearray的数据,原封不动的复制到我的struct1中,就是假设QbyteArray是个数组,我就是想把数组的头指针赋给我的struct1的头指针,这样就实现了结构体赋值,请问各位有这么做过吗?或者怎么取QbyteArray的值到一个Byte的数组中呢?
...全文
296 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbenmajia 2010-03-29
  • 打赏
  • 举报
回复
建议google,我如果说错了影响很大,google下吧
guozhixin 2010-03-29
  • 打赏
  • 举报
回复
那我这样做以后打印出来的东西怎么不对呢?
for(int i=0;i<a.size();i++){ui->textBrowser->insertPlainText(bak[i]+"");}

ui->textBrowser->insertPlainText(a);
为什么打印出来的东西不一样呢?还有您说的那个const data 的函数怎么使呀?
const char *b = a.constdata();?
这样写行吗?
benbenmajia 2010-03-29
  • 打赏
  • 举报
回复
const char * QByteArray::constData () const
Returns a pointer to the data stored in the byte array. The pointer can be used to access the bytes that compose the array. The data is '\0'-terminated. The pointer remains valid as long as the byte array isn't reallocated.

This function is mostly useful to pass a byte array to a function that accepts a const char *.

返回的是指针
benbenmajia 2010-03-29
  • 打赏
  • 举报
回复
可以,QBYTEARRAY本来就是一个字节数组
guozhixin 2010-03-29
  • 打赏
  • 举报
回复
问一下大家,我有这样两个变量:
QByteArray a;
char bak[a.size()];
for(int i=0;i<a.size();i++){bak[i] = temp[i]; }
请问各位这样做是不是对的?如果不对,我应该怎么做?
guozhixin 2010-03-29
  • 打赏
  • 举报
回复
这个函数怎么用呀?能给我一个例子吗?
benbenmajia 2010-03-29
  • 打赏
  • 举报
回复
QByteArray是字节array,所以你在操纵某一个对象的时候不能直接这样,
QByteArray aa;
赋值 aa[0] = 0x04;
if(aa.at(0) == 0x04)
{}
guozhixin 2010-03-29
  • 打赏
  • 举报
回复
有人会吗?
guozhixin 2010-03-29
  • 打赏
  • 举报
回复
再问一下,为什么QByteArray a;
a[0] = 0x05;//这是正确的
if(a[0] == 0x05){....}//这样写就不对呢?
MicroSky2813 2010-03-26
  • 打赏
  • 举报
回复
QbyteArray::constData()

16,819

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧