方法

GioOutputStreamclose

声明 [src]

gboolean
g_output_stream_close (
  GOutputStream* stream,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

关闭流,释放与流相关的资源。

一旦流被关闭,所有其他操作将返回 G_IO_ERROR_CLOSED。关闭多个流不会返回错误。

关闭流将自动刷新流中的所有挂起缓冲区。

当最后一个引用被移除时,流将自动关闭,但您可能希望调用此函数确保资源尽早释放。

某些流在流关闭后可能仍保留流的副存储(例如文件描述符)打开。有关详细信息,请参阅各个流的文档。

在失败时,将报告发生的第一个错误,但关闭操作将尽可能地完成。未能关闭的流将仍然为所有操作返回 G_IO_ERROR_CLOSED。仍然很重要的是检查并报告错误,否则可能会丢失数据,因为所有数据可能没有全部写入。

如果cancellable不是NULL,则可以从另一个线程触发可取消对象来取消操作。如果操作被取消,将返回错误G_IO_ERROR_CANCELLED。取消关闭操作后仍然会关闭流,但某些流可以使用一种不阻塞的更快关闭方法,例如检查错误。在取消(以及任何错误)的情况下,不能保证所有写入的数据都将到达目标。

参数

cancellable

类型: GCancellable

可选的可取消对象。

参数可以NULL
数据由方法的调用者拥有。
error

类型: GError **

用于可恢复错误的返回位置。

参数可以NULL
如果返回位置不是NULL,则必须将其初始化为NULLGError*
如果没有错误,方法将保留参数初始化为NULL
如果出现错误,将参数设置为新分配的GError;调用者将负责该数据,并负责释放它。

返回值

类型: gboolean

在成功时返回TRUE,在失败时返回FALSE