函数

Giopollable_stream_write

自:2.34

声明 [源]

gssize
g_pollable_stream_write (
  GOutputStream* stream,
  void* buffer,
  gsize count,
  gboolean blocking,
  GCancellable* cancellable,
  GError** error
)

描述 [源]

尝试写入 stream(与 g_output_stream_write() 类似,如果 blocking 为 TRUE)或 g_pollable_output_stream_write_nonblocking()(如果 blocking 为 FALSE)。这可以用于在不同方法阻塞和非阻塞实现之间更轻松地共享代码。

如果 blocking 为 FALSE,则 stream 必须是 GPollableOutputStream,对于该 stream,g_pollable_output_stream_can_poll() 返回 TRUE,否则行为是未定义的。如果 blocking 为 TRUE,则 stream 不必须是 GPollableOutputStream。

自 2.34 起可用

参数

stream

类型: GOutputStream

一个 GOutputStream

数据由函数的调用者所有。
buffer

类型:一个包含 guint8 的数组

包含要写入的数据的缓冲区。

数组的长度在 count 参数中指定。
数据由函数的调用者所有。
count

类型: gsize

要写入的字节数。

blocking

类型: gboolean

是否执行阻塞 I/O。

cancellable

类型: GCancellable

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

该参数可以是 NULL
数据由函数的调用者所有。
error

类型: GError **

一个可恢复错误的返回位置。

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULL GError*
如果没有错误,则函数会将该参数保留为 NULL
在发生错误的情况下,该参数将设置为一个新的分配的 GError;调用者将拥有数据,并负责释放它。

返回值

类型: gssize

写入的字节数,或错误时为 -1。