gpt4 book ai didi

c++ - 如何在 C++ 中遍历 LPBYTE 的每个字节

转载 作者:太空宇宙 更新时间:2023-11-04 16:29:20 25 4
gpt4 key购买 nike

请原谅我的问题很简单,我不习惯使用 Windows 类型。

我有一个 LPBYTE 缓冲区,我希望将它的每个字节与另一个字节进行异或运算。

在 C++ 中获取缓冲区长度并遍历它的正确方法是什么?我正在尝试做类似的事情:

LPBYTE buf = *something*;
char key = 'X';

for(int i=0;i<len(buf);i++)
buf[i] = buf[i] ^ key;

非常感谢!

最佳答案

C(/C++) 中的 LPBYTE 缓冲区只是内存中某处的地址,因此您需要最好通过具有大小值以显式方式跟踪该缓冲区的长度。

例如

// use a struct instead to keep things together    
struct
{
LPBYTE buffer;
size_t size;

} yourbuffer;

// init part
BYTE somewriteabledata[200];

yourbuffer.buffer = somewriteabledata;
yourbuffer.size = sizeof(somewriteabledata);

char key = 'X';

for(int i=0;i<yourbuffer.size;i++)
yourbuffer.buf[i] = yourbuffer.buf[i] ^ key;

关于c++ - 如何在 C++ 中遍历 LPBYTE 的每个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com