gpt4 book ai didi

将 unsigned char 数组复制到 uint32_t,反之亦然

转载 作者:行者123 更新时间:2023-11-30 18:21:12 26 4
gpt4 key购买 nike

我正在尝试迭代地将无符号字符数组复制到 uint_32t 变量(在 4 个字节 block 中),对 uint_32t 变量执行一些操作,然后将其复制回无符号字符数组。

这是我的代码:

unsigned char byteArray[len]
for (int i=0; i<len; i+=4) {
uint32_t tmpInt = 0;
memcpy(&tmpInt, byteArray+(i*4), sizeof(uint32_t));
// do some operation on tmpInt here
memcpy((void*)(byteArray+(i*4)), &tmpInt, sizeof(uint32_t));
}

但它不起作用。出了什么问题,我怎样才能实现我想要做的事情?

最佳答案

问题是您将 4 添加到 i每次迭代乘以4。您应该使用byteArray + i .

此外,正如 @WeatherVane 下面指出的那样,您的循环将与 sizeof() 更加一致:

for (int i = 0; i < len; i += sizeof(uint32_t)) .

关于将 unsigned char 数组复制到 uint32_t,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53648886/

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