代码之家  ›  专栏  ›  技术社区  ›  Stuart Axon

解析c glib中的url查询参数?

  •  0
  • Stuart Axon  · 技术社区  · 5 年前

    在glib下是否可以在c中获取url片段参数?

    我有一个网址像 file://localhost/home/me/notepad.txt#line=100,2

    获取url末尾指定的参数的最佳方法是什么?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Philip Withnall    5 年前

    没有一个glib函数可以满足您的需要。如果可以使用libsoup(也是gnome堆栈的一部分),那么可以使用 SoupURI :

    g_autoptr(SoupURI) uri = soup_uri_new (uri_string);
    const gchar *fragment = soup_uri_get_fragment (uri);
    

    那就定了 fragment line=100,2 . 您必须手工对片段格式进行进一步的解析。 g_strsplit() 会有用的。

        2
  •  -1
  •   fassn    5 年前

    不确定是否要解析 notepad.txt行=100,2 α=100.2 尽管如此,我的回答在这两种情况下都应该有效。

    你可以使用 strrchr() (man strrchr)函数获取字符串中字符的最后一次出现。

    类似于:

    char *file;
    file = strrchr(url, '/') + 1;