我有一個需要發送的uchar緩衝區。它不能轉換爲字符。通過winsock2發送uchar *
我有蒙上了樣本項目:
send(SOCKET s, void *buf, size_t length) { return send(s, buf, length, 0);
我的嘗試是:
err = send(ConnectSocket, (void*)buf, (int)strlen(sendbuf), 0);
我知道是唯一不同的是VS的版本(2008年)。
該行不會在我的2010項目中編譯。該錯誤是不能paramerter 2 void *的轉換爲const char *
不會簽署緩衝區嗎?這些值不能被簽名。 – Bluebaron
@Bluebaron爲什麼要這樣呢?它只是投射指針,最終將其轉換爲「void *」,因此無論如何都沒有任何符號的概念。演員不只是改變它指向的數據,'發送'功能不關心任何類型,它只是複製原始內存。 –