虚拟方法

GioOutputStreamwrite_fn

声明 [src]

gssize
write_fn (
  GOutputStream* stream,
  void* buffer,
  gsize count,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

尝试将从缓冲区buffer中的count个字节写入流中。在操作期间将阻塞。

如果count为0,则返回0并执行无操作。大于G_MAXSSIZEcount值将导致返回G_IO_ERROR_INVALID_ARGUMENT错误。

成功时,返回写入流中的字节数。如果这不是请求的大小,那么这不是错误,因为在部分I/O错误或如果流中没有足够的存储时,这可以发生。

如果没有错误,则返回写入的字节数;否则在count为零的情况下,永远不返回0。

如果没有错误,则操作可以取消。如果操作被取消,将返回错误G_IO_ERROR_CANCELLED。如果操作在取消时部分完成,则将返回部分结果,而不返回错误。

错误参数

缓冲区

类型: 一个guint8数组

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

参数可以是NULL
数组的长度由count参数指定。
数据由方法调用者拥有。
count

类型: gsize

要写入的字节数。

cancellable

类型: GCancellable

可选的取消对象。

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

类型: GError **

恢复错误的返回位置。

参数可以是NULL
如果返回位置不为NULL,则必须将其初始化为零的GError*
虚拟函数如果没有错误,则将参数保留初始化为零的GError
如果发生错误,则将参数设置为刚分配的GError;调用者将拥有数据,并负责释放它。

返回值

类型: gssize

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