收到的数据格式是:#42004+501个float型数据+\r\n,#42004是数据头,\r\n是尾,我用receive接收,不知道用什么存收到的数据怎样提取中间的501个浮点型比较方便?
急用小弟先谢谢各位大侠!!!!!

解决方案 »

  1.   

    举一个例子:
    发送的时候,
    float f1, f2;
    unsigned int uLen;
    f1 = 1.2, f2 =1.3;
    char buff[128];
    uLen = sizeof(f1)
    memcpy(buff, f1, uLen );
    memcpy(buff+uLen, f2, uLen);接收:
    float f1, f2;
    unsigned int uLen = sizeof(f1)
    memcpy(&f1, buff, uLen);
    memcpy(&f2, buff+ULen, uLen);
      

  2.   

    谢谢啊,但是我接收的时候不是不是按浮点数存起来的,提出来后怎么转化成浮点数啊,比如存在一个char[2012]
      

  3.   


    char[2012];
    //假设 501个float 已经保存到char里面——从第一个字节开始//提取各个float 
    for(int i = 0; i < 512; i++)
    {
      float fTemp = *(float *)&char[ i*sizeof(float) ];
    }