簡體   English   中英

具有0x00字符的c ++數據數組

[英]c++ data array with 0x00 character

我正在嘗試使用Winsock通過套接字發送一些數據。 我遇到的問題是我的數據(實際上是char的數組)可能包含一些零,但char 0x00表示空字符,並且以下所有字符均被截斷,因為它表示終止字符。 有人對我應該如何解決這個問題有想法嗎? 我可以使用什么替代方法?

我想做的是用winsock發送字節,它可能代表整數,char數組或其他內容。 接收部分將正確閱讀,但這與本文無關。

我想你可能正在做這樣的事情:

字符s [100];

//用s做東西

send(sock,s,strlen(s),flags); `

strlen通過計數字符串的長度來找到字符串的長度,直到找到NULL(0)。

使數據流中的前兩個字節成為要發送的緩沖區的長度。 然后發送那么多字節。

在另一端,讀取兩個字節,然后您確切知道要傳入多少個字節。

這樣您就可以解決此問題。

也谷歌網絡字節順序。 有一些方便的函數調用,使移植變得容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM