方法
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
分配;调用者将拥有数据权限,并负责释放它。