方法

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,则必须将其初始化为 NULLGError*
如果没有错误,方法将留空初始化参数为 NULL
如果出现错误,参数将设置为一个新的 GError 分配;调用者将拥有数据权限,并负责释放它。

返回值

类型: gboolean

成功时返回 TRUE,如果有错误则返回 FALSE