电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
QT QByteArray对象输出32位数据是怎么回事
已解决
73482
个问题
已帮助
5993
位优秀工程师
QT QByteArray对象输出32位数据是怎么回事
donatello
2017-12-19
浏览量:2159
如题,QByteArray类是QT用于存放8位长字符串的类,可是下面函数却会输出32位的数据:
QByteArray qba_data;
qba_data[0]=0xff;
qDebug("0x%x",qba_data[0]);
如果是换成
qDebug("0x%x",(uint8_t)qba_data[0]);
的话,就能正常输出0xff,请问这个是什么原因呢?QByteArray不是八位的字符串吗?
显示全部
其他
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
xdsnet
你要理解的是qDebug中默认%x对应的是uint32_t 数据类型的,所以这里默认进行了格式转换,,而后面强制了格式,所以没有转换而已,这和QByteArray到底存储数据的格式没有关系,不过后面的那个更准确。
发布于
2017-12-19
举报
评论 1
1
0
电子老工程师
回复了 :带Q的是汽车级的
回复
其他答案
数量:
1
chen0000009
那个Qdebug打印长度好像跟系统位数有关的,你的系统是32位它就输出32位,但是加了uint_8就相当于强制类型转换了
发布于
2017-12-20
举报
评论 1
1
0
电子老工程师
回复了 :根据客户已给信息确定了几种型号,由于了解客户实际是否需要带开关以及保险数量,所以提供链接,客户根据实际使用情况进行选择,链接太长,私发QQ了
回复
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
QT QByteArray对象输出32位数据是怎么回事
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: