利用memcpy函数实现float到QByteArray的相互转化
来源:互联网 发布:什么才叫做数据库查询 编辑:程序博客网 时间:2024/05/29 07:38
一.为什么要实现float到QByteArry之间的相互转化
在总线通讯过程中(例如串口通讯),总线上传输的是字节数组变量,即ByteArray型的变量,在Qt中即为QbyteArray型变量。总线发送数据时要将数据转化为QbyteArray再发送,接收数据后要将收到的QByteArray转化为所需的变量类型(如float型变量)。
memcpy函数是c++中对变量内存进行操作的函数,可以实现ByteArray与不同数据类型之间的相互转化。
二.具体操作
(1)QByteArray转化为float
float curveData[14]; QByteArray inputdata; //需要提前给inputdata赋值 memcpy(&curveData,inputdata,56);
更一般化(将QByteArray转化为float数组):
QByteArray inputdata; //需要提前给inputdata 赋值 float curveData[14]; memcpy(&curveData,inputdata,sizeof(curveData));
(2) float转化为QByteArray
QByteArray outputdata; float currentData; //variables need to be in outputdata.resize(sizeof(currentData)); //重新调整QByteArray的大小 memcpy(outputdata.data(),¤tData,sizeof(currentData));将float数组转化为QByteArray
QByteArray outputdata; float currentData[3]; //变量需要提前被赋值 outputdata.resize(sizeof(currentData)); memcpy(outputdata.data(),¤tData,sizeof(currentData));
阅读全文
0 0
- 利用memcpy函数实现float到QByteArray的相互转化
- sqlserver nvarchar和float的相互转化
- 字符串和int float的相互转化
- Matlab Simulink 串口通讯之float数据到字节数组(uint8)的相互转化
- 如何实现int与CString,char*与CString,float与CString之间的相互转化
- memcpy函数的实现
- memcpy函数的实现
- memcpy函数的实现
- memcpy函数的实现
- Qt中int 、byte、Qbytearray、QString间的相互转化与网络数据传输
- 面试中长间的strcpy、字符串整形相互转换、memcpy函数的实现
- memcpy函数的实现要点
- memcpy的函数内部实现
- 一种memcpy函数的实现
- memcpy的函数内部实现
- strcpy,memcpy函数的实现
- strcpy、memcpy函数的实现
- memcpy,memmove函数的实现
- PHP中stdClass简介及 stdClass Object转array方法
- 如何让mysql的排序字段的值为空(null)的时候排在后面
- SpringCloud服务的注册与发现(Eureka)
- 爱奇艺2018秋季校招算法工程师(第二场)编程题题解
- Arrays类
- 利用memcpy函数实现float到QByteArray的相互转化
- MGEX 数据下载
- 浏览器、C/S与B/S
- C# 中的委托和事件(详解)
- Java 日志处理
- ORA-12170:TNS:Connect timeout occured PL/SQL连接 win7 VMware上的oracle数据库出错
- 4. Median of Two Sorted Arrays
- 171014 C++学习笔记-4
- Halcon学习笔记(一) 读取图片