在 C 中将 uint8_t 数组连接到 uint32_t 数组

concatenating a uint8_t array into uint32_t array in C

以前可能有人问过这个问题。但我还是会问的。如果有人可以指导我做一些相关的事情,那也很好。

所以,如果我有:

uint8_t src[] = {34, 56, 31, 89, 11, 32, 67, 89};

是否可以通过连接得到这样的东西:

uint32_t dst[] = {34563189, 11326789};

如果是,怎么样?我看到一个关于将 uint8_t 数组转换为 uint32_t 的问题,但我需要将 4 字节块并排放入 uint32_t 数组中。谢谢!

在我看来,

  1. 使用 snprintf() 将单个 uint8_t 打印到 char 数组。
  2. 使用strtol()数组转换为整数。

如果您真的使用十进制值:

uint32_t dst[] = {1000000 * src[0] +10000 * src[1] + 100 * src[2] + src[3],
                  1000000 * src[4] +10000 * src[5] + 100 * src[6] + src[7]};