关于QByteArray类型数据内容判断警告的问题
来源:互联网 发布:linux 查看进度 编辑:程序博客网 时间:2024/05/22 07:05
使用Qt mingw编译器,在日常编程及项目中,用到串口及TCP通讯时,经常会将读取到的数据保存到QByteArray类型的变量中,如:
QByteArray data= tcpSocket->readAll();
下一步通常会对读取到的数据内容进行判断,这时就会出现一些问题。
以下这种写法程序可以正常运行
if((data[7]==0x03) && (data[8]==0xc0))
但会提示警告:
warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: if((data[7]==0x03) && (data[8]==0xc0))
于是在度娘上看到有人这么改:
if((0x03==data[7]) && (0xc0==data[8]))
如此编译器不再产生警告了,可程序运行起来,无法对内容进行正确判断,之前困扰了一段时间,我怀疑是QByteArray数据类型通常不能直接和普通的无符号数字进行比较,所以在QByteArray变量之前加入了显示类型转换:
if((0x03==(unsigned char)data[7]) && (0xc0==(unsigned char)data[8]))如此编译器不再产生警告,程序可以正确地进行判断。
一点点心得随笔记录也方便和真正有需要的人分享一下,希望能够帮助到和我一样细心的人,不喜欢的就当没看见好了,请口下留情,谢谢。
阅读全文
0 0
- 关于QByteArray类型数据内容判断警告的问题
- 关于android的警告问题
- 关于内存警告的问题
- 关于DataControlRowType 枚举,判断数据行的类型
- qt 中文乱码 处理QByteArray类型里含中文的数据
- 关于char(n)类型引起的字符串判断问题
- 关于QByteArray用法的小总结
- 关于屏蔽编译警告的小问题
- 关于vs提示_CRT_SECURE_NO_WARNINGS 警告的问题
- iOS关于图片问题的警告
- Javascript 判断数据的类型
- findbugs的警告类型
- 关于MysQL中写入日期类型数据失败的问题
- 关于字符串数据转化为float类型的问题
- 关于mysql数据库保存bit类型数据的问题
- 关于UILable自适应数据内容问题
- SQL获取datetime类型的数据内容
- 关于字节数组QByteArray
- 应用系统之间数据传输的几种方式
- UML中活动图、状态图、流程图的区别
- 在linux中输入locate出现locate: can not stat ()的错误
- gitlab 提交到测试服务器,再发版到生产服务器流程整理
- window 安装node-sass失败解决办法
- 关于QByteArray类型数据内容判断警告的问题
- 正则中的中文匹配问题
- Android QQ授权时 javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
- Oracle--常用函数
- Swift_符号表达式(【Int? = optional Int】、【as\as!\as?】、nil 代表值为nil非空、?可以选链..... )
- null 与 “” 的区别
- C++ size_t
- Python中的匿名函数: lambda表达式
- 12. Learning_正则表达式