方法
GioOutputStreamwritev_all
自: 2.60
声明 [src]
gboolean
g_output_stream_writev_all (
GOutputStream* stream,
GOutputVector* vectors,
gsize n_vectors,
gsize* bytes_written,
GCancellable* cancellable,
GError** error
)
描述 [src]
尝试将包含在 n_vectors 向量化 中的字节写入流。将阻塞操作期间。
此函数类似与g_output_stream_writev(),除了一点,它尝试写入尽可能多的字节,只在工作出现错误时停止。
如果成功写入了所有 n_vectors 向量化,则返回 TRUE,并将 bytes_written 设置为 vectors 的所有大小的总和。
如果在操作过程中出现错误,则返回 FALSE,并将 error 设置为指示错误状态。
作为对使用 GError 的函数的正常约定的特殊情况,如果此函数返回 FALSE(并设置 error),则 bytes_written 将设置为由错误遇到之前的成功写入的字节数。此功能仅在C中可用。如果您需要从其他语言中获取它,则必须编写自己的g_output_stream_write()循环。
此函数可能会更改向量 vectors 的个别元素的内容。
自: 2.60
参数
vectors-
类型: 一个
GOutputVector数组包含要写入的
GOutputVectors的缓冲区。数组的长度由 n_vectors参数指定。数据由方法调用者拥有。 n_vectors-
类型:
gsize要写入的向量数量。
bytes_written-
类型:
gsize*存储已写入流中字节数的位置。
该论点将由函数设置。 论点可以是 NULL。 cancellable-
类型:
GCancellable可选的
GCancellable对象,NULL表示忽略。论点可以是 NULL。数据由方法调用者拥有。 错误-
类型:
GError **恢复错误的返回位置。
论点可以是 NULL。如果返回位置不是 NULL,则必须将其初始化为NULL的GError*。如果没有错误,方法将留空初始化参数为 NULL。如果出现错误,参数将设置为一个新的 GError分配;调用者将拥有数据权限,并负责释放它。