方法

GLibBytesget_region

自:2.70

声明 [src]

gconstpointer
g_bytes_get_region (
  GBytes* bytes,
  gsize element_size,
  gsize offset,
  gsize n_elements
)

描述 [src]

获取指向 bytes 中区域的指针。

区域从数据起始点偏移 offset 个字节开始,包含 n_elements 个大小为 element_size 的元素。

n_elements 可能是零,但 element_size 必须始终非零。理想情况下,element_size 是一个静态常量(例如:sizeof 一个  struct)。

此函数执行详细的边界检查(包括检查算术溢出)并在指定的区域完全位于 bytes 内时返回非-NULL 指针。如果区域以某种方式超出范围,或者发生溢出,则返回 NULL

注意:可能具有有效的零大小区域。在这种情况下,返回的指针将与数据的基础指针相等,加上 offset。这将是非-NULL,除了当 bytes 本身是零大小区域的情况。由于您不太可能使用此函数来检查零大小区域中的零大小 bytes,因此 NULL 实际上始终意味着错误。

自:2.70

参数

element_size

类型: gsize

非零元素大小。

offset

类型: gsize

bytes 起始点到区域开始点的偏移量。

n_elements

类型: gsize

区域中的元素数。

返回值

类型: gconstpointer

请求的区域,或者错误时返回 NULL

返回的数据由实例拥有。
返回值可以是 NULL