我正在尝试使用 winsock 通过套接字发送一些数据。我遇到的问题是,我的数据(实际上是一个 char 数组)可能包含一些零,但 char 0x00 表示空字符,并且以下所有字符都被剪切,因为它表示终止字符。有没有人知道我应该如何解决这个问题?我可以使用什么替代方案?
我想做的是用 winsock 发送字节,它可能代表整数、字符数组或其他东西。接收部分会负责正确读取,但这不是本文的关注点。
最佳答案
我想你可能正在做这样的事情: `
字符 s[100];
//用s做事
发送( socks ,s,strlen(s),标志); `
strlen 通过计算有多少个字符直到找到 NULL (0) 来找到字符串的长度。
关于具有 0x00 字符的 C++ 数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762595/