虚幻引擎(C ++)
嗨,我有一个来自TCP连接的字节TArray。我有58字节的标题和12 x 4字节的Float32。我需要从我的Array Bytes中提取12个float32数字,我已经尝试过这段代码来提取第一个数字,但结果每次都是错误的:
float ReceivedUE4float32;
ReceivedUE4float32 = float(ReceivedData[58]); //58 index of first float32
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("Dato intdex 58 ~> %f"), ReceivedUE4float32));
有人可以帮助我吗?
插座:https://github.com/openigtlink/OpenIGTLink/blob/release-3.0/Documents/Protocol/index.md
转换(12x4字节):https://github.com/openigtlink/OpenIGTLink/blob/release-3.0/Documents/Protocol/transform.md
答案 0 :(得分:1)
float(ReceivedData[58])
将取消引用ReceivedData
中的第58个字节并从该值创建一个浮点数,这不是您想要的。
您可以使用reinterpret_cast
来阅读数据:
float value = *(reinterpret_cast<float*>(ReceivedData + 58));
您没有提到您要定位的平台,但请记住,这并不关注字节序。