虚拟方法
GioOutputStreamwrite_fn
声明 [src]
gssize
write_fn (
GOutputStream* stream,
void* buffer,
gsize count,
GCancellable* cancellable,
GError** error
)
描述 [src]
尝试将从缓冲区buffer
中的count
个字节写入流中。在操作期间将阻塞。
如果count
为0,则返回0并执行无操作。大于G_MAXSSIZE
的count
值将导致返回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
;调用者将拥有数据,并负责释放它。