被迫使用c++,查找百度一下午写出了这个东西.希望能帮忙解惑
我写了一个代码如下
#include <iostream>
double * disp11(unsigned char *rev)
{
/*
*
*/
union gyro
{
char ch[4];
float f;
int si;
};
union gyro Gyrox[4], Gyroy[4], Gyroz[4];
unsigned short int data_temp1;
int i, j;
double angleRT[16];
unsigned short int YearMonth; //年
unsigned short int Product_ID_T; //产品编号
i = 2;
Product_ID_T = rev[2] + rev[3] * 256; //产品编号
YearMonth = rev[4] + rev[5] * 256; //年
i = 11;
j = 0;
Gyrox[0].ch[0] = rev[i++]; //经度
Gyrox[0].ch[1] = rev[i++];
Gyrox[0].ch[2] = rev[i++];
Gyrox[0].ch[3] = rev[i++];
angleRT[0] = Gyrox[0].f;
i = 15;
j = 0;
Gyrox[0].ch[j++] = rev[i++]; //纬度
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
angleRT[1] = Gyrox[0].f;
i = 19;
j = 0;
Gyrox[0].ch[j++] = rev[i++]; //高度,m
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
angleRT[2] = Gyrox[0].f;
i = 23;
j = 0;
Gyrox[0].ch[j++] = rev[i++]; //航向
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
angleRT[3] = Gyrox[0].f;
i = 27;
j = 0;
Gyrox[0].ch[j++] = rev[i++]; //步数
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
Gyrox[0].ch[j++] = rev[i++];
angleRT[4] = Gyrox[0].f;
//步幅度,低字节
data_temp1 = rev[32] * 256 + rev[31];
angleRT[5] =(double)data_temp1;
angleRT[6] =(double)rev[33]; //卫星数
angleRT[7]= (double)rev[34]; //状态字1
angleRT[8] = (double)rev[35]; //状态字2
angleRT[9] = (double)Product_ID_T; //状态字2
angleRT[10]=(double)YearMonth;//年
angleRT[11]=(double)rev[6];//月
angleRT[12]=(double)rev[7];//日
angleRT[13]=(double)rev[8];//时
angleRT[14]=(double)rev[9];//分
angleRT[15]=(double)rev[10];//秒
return angleRT;
}
using namespace std;
int main()
{
// AA 55 AD 02 BC 08 01 06 08 00 00 08 33 D6 42 F0 97 EF 41 24 18 B7 43 EF 69 56 43 00 00 50 41 A8 02 00 00 01 EF
// 假如test = [AA 55 AD 02 BC 08 01 06 08 00 00 08 33 D6 42 F0 97 EF 41 24 18 B7 43 EF 69 56 43 00 00 50 41 A8 02 00 00 01 EF]
// cout disp11(test)
return 0;
}
功能函数我按照逻辑写出来了,但是我不知道如何运行它,也不知道如何添加头文件让他可以运行,测试数据在注释第一行,,按照函数的入口类型定义后传给函数,最后打印函数返回值