我有一个 tcp 客户端,它从服务器获取数据作为字符串流。服务器将向量(浮点数)打包成一个大字符串,并用标志分隔它们。现在在我的客户端中,我再次分离这些标志,并将它们存储在一个字符串数组中。所以每个“令牌”应该是一个向量。但我只是无法解析它。我得到的字符串看起来很奇怪,看看:
因此,我需要做的就是将其解析回 3 个浮点数。在服务器端它是这样发送的:
data.addFlag(11);
data << pelvis.x() << pelvis.y() << pelvis.z();
data.addFlag(12);
data << rhip.x() << rhip.y() << rhip.z();
运算符重载为
operator<<(const float& f)
{
m_buf.append(reinterpret_cast<const char*>(&f), sizeof(f));
return *this;
}
编辑:
一个令牌看起来像这样:如果我尝试通过解析它
float first = *reinterpret_cast<float*>(value)
我有一个例外。