方法

自 2.30 版本开始

声明 [src]

char*
g_data_input_stream_read_line_utf8 (
  GDataInputStream* stream,
  gsize* length,
  GCancellable* cancellable,
  GError** error
)

说明 [src]

从数据输入流中读取一个 UTF-8 编码的行。

如果 cancellable 不是 NULL,则可以通过从另一个线程触发可取消对象来取消操作。如果操作被取消,则返回错误 G_IO_ERROR_CANCELLED

从 2.30 版本开始可用

参数

length

类型: gsize*

一个 gsize,用于获取读取的数据长度。

该参数将由函数设置。
该参数可以是 NULL
cancellable

类型: GCancellable

可选的 GCancellable 对象,NULL 表示忽略。

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

类型: GError **

可恢复错误的返回位置。

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

返回值

类型: char*

一个以 NUL 结束的 UTF-8 字符串,包含读取的行(不含换行符)。将 length 设置为 gsize 以获取读取行的长度。如果发生错误,将返回 NULL 并设置 error。对于 UTF-8 转换错误,设置的错误域为 G_CONVERT_ERROR。如果没有内容可读取,它仍然将返回 NULL,但 error 不会被设置。

该方法调用者将获取返回数据的所有权,并负责释放它。
返回值可以为 NULL
该值是一个以 NUL 结尾的 UTF-8 字符串。