虚拟方法

GioSeekableseek

声明 [src]

gboolean
seek (
  GSeekable* seekable,
  goffset offset,
  GSeekType type,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

通过给定的 offsettype 在流中查找。

如果尝试在流的末尾之后查找,那么结果会根据流是固定大小还是有可调整大小而有所不同。如果流是可调整大小的,那么超出末尾查找后再写入将用零填充空空间。超出可调整流末尾查找再读取将导致 EOF。超出固定大小流的末尾查找将失败。

任何导致负偏移的操作都将失败。

如果 cancellable 不是 NULL,则可以通过在其他线程中触发可取消对象来取消操作。如果操作被取消,将返回错误 G_IO_ERROR_CANCELLED

参数

偏移

类型: goffset

一个#goffset.

类型

类型: GSeekType

一个 GSeekType.

cancellable

类型: GCancellable

可选的 GCancellable 对象,NULL 表示忽略。

该参数可以为 NULL
数据由方法的调用者拥有。
错误

类型: GError **

恢复性错误的返回位置。

该参数可以为 NULL
如果返回位置不是 NULL,那么您必须将其初始化为 NULLGError*
如果没有错误,则虚拟函数将初始化该参数为 NULL
在出现错误的情况下,该参数将设置为新的 GError;调用者将接管数据,并负责释放它。

返回值

类型: gboolean

如果成功,则返回 TRUE。如果发生错误,则此函数将返回 FALSE,并且如果存在,将适当地设置 error