我想通過字符數組窗體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