我試圖發送一個28字符的字符串到遠程ip地址和端口。C++將字符串轉換爲通過tcp發送的字節
Dim swon As String = "A55A6B0550000000FFFBDE0030C8"
Dim sendBytes As [Byte]()
sendBytes = Encoding.ASCII.GetBytes(swon)
netStream.Write(sendBytes, 0, sendBytes.Length)
我現在必須轉換這個橫跨到C++和至今如下:我在vb.net中使用下面的代碼片段成功做到了這一點
char *swon = "A55A6B0550000000FFFBDE0030C8";
array<Byte>^ sendBuffer = gcnew array<Byte>(bufferSize);
sendBuffer = BitConverter::GetBytes(swon);
tcpStream->Write(sendBuffer, 0, sendBuffer->Length);
,但我被陷在此刻。我確定我錯過了一個簡單的語法錯誤,但我無法弄清楚它!
爲了澄清,我沒有得到一個錯誤,但我不認爲將字符串轉換爲字節正確,當我轉換回,我只是得到一個「01」
乾杯, 克里斯
非常感謝,這就是我一直在尋找的答案!它只是一個語法問題,sendBuffer = Encoding :: ASCII-> GetBytes(swoff);使用字符串而不是char – Chris 2011-06-13 16:17:58
它不應該很難,因爲你的VB.Net代碼已經工作。祝你好運。 – 2011-06-13 16:21:51