函数
GLibUrisplit
自:2.66
声明 [src]
gboolean
g_uri_split (
const gchar* uri_ref,
GUriFlags flags,
gchar** scheme,
gchar** userinfo,
gchar** host,
gint* port,
gchar** path,
gchar** query,
gchar** fragment,
GError** error
)
描述 [src]
根据flags解析uri_ref(可以是绝对或相对URI),并返回片段。不在uri_ref中出现的任何组件都将返回为NULL(但请注意,所有URI始终有一个路径组件,尽管它可能是空字符串)。
如果flags包含G_URI_FLAGS_ENCODED,则uri_ref中的百分号编码字符将在输出字符串中保持编码状态。(如果不包含,则所有此类字符都将解码。)请注意,解码仅在URI组件是ASCII或UTF-8时才会工作,因此如果它们不是,您则需要使用G_URI_FLAGS_ENCODED。
请注意,G_URI_FLAGS_HAS_PASSWORD和G_URI_FLAGS_HAS_AUTH_PARAMS flags由g_uri_split()忽略,因为它始终只返回完整的用户信息;如果您想要分开,请使用g_uri_split_with_user()。
自:2.66
参数
uri_ref-
类型:
const gchar*包含相对或绝对URI的字符串。
数据是由函数的调用者拥有的。 值是一个以空字符终止的UTF-8字符串。 flags-
类型:
GUriFlags解析
uri_ref的标志。 scheme-
类型:
gchar**返回时,包含方案(转换为小写),或
NULL。该参数将由函数设置。 函数可以将参数设置为 NULL。该参数可以是 NULL。函数的调用者拥有返回的数据,并负责释放它。 值是一个以空字符终止的UTF-8字符串。 userinfo-
类型:
gchar**返回时,包含用户信息,或
NULL。该参数将由函数设置。 函数可以将参数设置为 NULL。该参数可以是 NULL。函数的调用者拥有返回的数据,并负责释放它。 值是一个以空字符终止的UTF-8字符串。 host-
类型:
gchar**返回时,包含宿主,或
NULL。该参数将由函数设置。 函数可以将参数设置为 NULL。该参数可以是 NULL。函数的调用者拥有返回的数据,并负责释放它。 值是一个以空字符终止的UTF-8字符串。 port-
类型:
gint*返回时,包含端口,或
-1。该参数将由函数设置。 该参数可以是 NULL。 path-
类型:
gchar**返回时,包含路径。
该参数将由函数设置。 该参数可以是 NULL。函数的调用者拥有返回的数据,并负责释放它。 值是一个以空字符终止的UTF-8字符串。 query-
类型:
gchar**返回时,包含查询,或
NULL。该参数将由函数设置。 函数可以将参数设置为 NULL。该参数可以是 NULL。函数的调用者拥有返回的数据,并负责释放它。 值是一个以空字符终止的UTF-8字符串。 fragment-
类型:
gchar**返回时,包含片段,或
NULL。该参数将由函数设置。 函数可以将参数设置为 NULL。该参数可以是 NULL。函数的调用者拥有返回的数据,并负责释放它。 值是一个以空字符终止的UTF-8字符串。 error-
类型:
GError **恢复错误的返回位置。
该参数可以是 NULL。如果返回位置不是 NULL,则必须将其初始化为NULL的GError*。如果没有错误,函数将参数初始化为 NULL。在发生错误的情况下,参数将被设置为新的 GError分配;调用者将拥有数据,并负责释放它。