繁体   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