具有 0x00 字符的 C++ 数据数组

标签 c++ null character byte winsock

我正在尝试使用 winsock 通过套接字发送一些数据。我遇到的问题是,我的数据(实际上是一个 char 数组)可能包含一些零,但 char 0x00 表示空字符,并且以下所有字符都被剪切,因为它表示终止字符。有没有人知道我应该如何解决这个问题?我可以使用什么替代方案?

我想做的是用 winsock 发送字节,它可能代表整数、字符数组或其他东西。接收部分会负责正确读取,但这不是本文的关注点。

最佳答案

我想你可能正在做这样的事情: `

字符 s[100];

//用s做事

发送( socks ,s,strlen(s),标志); `

strlen 通过计算有多少个字符直到找到 NULL (0) 来找到字符串的长度。

关于具有 0x00 字符的 C++ 数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762595/

相关文章:

c++ - 链接器错误(MEX 找不到 OpenCV 库)

c++ - 有 4 位,如何为 AVX 寄存器生成掩码?

C++ 为 API 中定义的结构创建父类(super class)

c++ - C4473 结构分配警告

ios - 在 Swift 中处理 nil 值

php: SimpleXML 加载文件无效字符错误

c - 大写转换和数字求和

c++ - 64位系统上的NULL定义问题

sql - 为什么column = NULL不返回任何行?

python - 字符串包含细长的单词