【问题标题】:Convert guint8 to uint32_t in C/glib在 C/glib 中将 guint8 转换为 uint32_t
【发布时间】:2017-03-27 15:07:02
【问题描述】:

我找不到在 C 中将 guint8 转换为 uint32_t 的方法

我试过了:

uint32_t *uint32_value = (uint32_t *)guint8_value;

但它说:

warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   uint32_t *uint32_value = (uint32_t *)guint8_value
                            ^
warning: assignment makes integer from pointer without a cast [-Wint-conversion]
   uint32_t *uint32_value = (uint32_t *)guint8_value
                          ^

【问题讨论】:

    标签: c glibc glib


    【解决方案1】:

    您没有从 guint8 投射到 uint32_t

    您正在从整数 (guint8) 转换为指向整数 (uint32_t*) 的指针

    正确的代码很简单:

    uint32_t uint32_value = guint8_value;
    

    【讨论】:

      猜你喜欢
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2014-07-23
      • 2018-04-30
      相关资源
      最近更新 更多