方法

GioDataInputStreamread_upto

since: 2.26

声明 [src]

char*
g_data_input_stream_read_upto (
  GDataInputStream* stream,
  const gchar* stop_chars,
  gssize stop_chars_len,
  gsize* length,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

从数据输入流中读取一个字符串,直到遇到第一个停止字符。

与g_data_input_stream_read_until()不同,此函数不会消耗停止字符。您必须使用g_data_input_stream_read_byte()在调用g_data_input_stream_read_upto()之前获取它。

注意,如果指定了stop_chars_len,则stop_chars可能包含‘\0’。

在成功的情况下,返回的字符串总是以空字符终止。

可用以来:2.26

参数

stop_chars

类型: const gchar*

要终止读取的字符。

数据由方法调用者拥有。
该值是 NUL 终止的 UTF-8 字符串。
stop_chars_len

类型: gssize

stop_chars的长度。如果stop_chars是 NUL 终止的,则可能为 -1。

length

类型: gsize*

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

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

类型: GCancellable

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

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

类型: GError **

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

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

返回值

类型: char*

在遇到任何停止字符之前读取的数据的字符串。将length设置为gsize以获取字符串长度。此函数将返回NULL

方法调用者拥有返回的数据,并负责释放它。
该值是 NUL 终止的 UTF-8 字符串。