我想通过字符数组窗体c + +(客户端)到python(服务器)。我使用winsock创建了一个接口,我使用hello world字符串测试了它,它工作正常。但实际上我需要从C++端传递给Python。 (3个花车可以说,x,y,z)。 这些浮点数不断更新,所以我说的代码是在while循环中运行的。在C++中,我正在处理从IMU传感器捕获的实时数据,这些需要在Python中进一步处理。 我试图浮点值转换成字符数组:从c + +(客户端)传递字符数组到python(服务器)winsock
char zarray[20];
sprintf(zarray, "%f", z_angle);// z_angle the float I need to pass
char *c[]={zarray};
然后将其发送到Python:
iResult=send(sock,*c, (int)strlen(*c),0);
我在Python得到的输出是这样的: 0.1152720.1152720.115272
我不知道为什么会发生这种情况,这是什么样的格式。我试图清空char * c之后:
iResult=send(sock,*c, (int)strlen(*c),0);
*c[0] = 0;
但它没有帮助。有没有人知道为什么会发生这种情况? 或者是否有任何其他方式可以通过使用winsock从C++传递到Python?
谢谢
我只是想增加一个空间,但是这个效果太 – SurDin
谢谢。它使用sprintf(zarray,“%f \ n”,z_angle); – userMilka
谢谢。它使用sprintf(zarray,“%f \ n”,z_angle)..但我需要发送x_angle,y_angle。我试图将这些角度转换为字符串连接它们与“!”(所以我可以拆分python一侧的字符串),然后将它们转换为字符。 x_angle,y_angle,z_angle同时更新,我需要将它们一起发送。这是我在Python中得到的:'它不起作用。有没有什么聪明的方法可以使用TCP将3个浮点数传递给服务器。 – userMilka