【发布时间】:2012-01-01 22:11:50
【问题描述】:
请原谅我的问题很简单,我不习惯使用 Windows 类型。
我有一个 LPBYTE 缓冲区,我希望将它的每个字节与另一个字节进行异或。
在 C++ 中获取缓冲区长度并遍历它的正确方法是什么?我正在尝试做类似的事情:
LPBYTE buf = *something*;
char key = 'X';
for(int i=0;i<len(buf);i++)
buf[i] = buf[i] ^ key;
非常感谢!
【问题讨论】:
-
LPBYTE与unsigned char *相同,以防万一。 -
一个
LPBYTE指向一个缓冲区。 -
除非
LPBYTE指向的数据是空终止的(而且它肯定不会叫出“类似字符串的数据类型”),否则没有办法发现多长时间了。 -
所以如果它的 null 终止我可以用
strlen得到长度? buf 实际上是分配给(LPBYTE) LockResource(LoadResource(NULL, hRsrc));的值,如果它是空终止的,有什么猜测吗? -
在过去的几周里,有很多关于异或“加密”的问题。非常典型的期末项目。有用性为零,它只不过是一个被频率计数轻易破解的凯撒密码。你有没有考虑和你的同学会面来敲定这件事?令人难以置信的有用的真实世界经验,作为一个团队一起工作。当你得到一份真正的工作时非常重要。在 SO 中没有很好地建模,这是一个答案,而不是实践的地方。
标签: c++ arrays pointers loops lpbyte