函数

GLibfile_read_link

版本:2.4

声明 [src]

gchar*
g_file_read_link (
  const gchar* filename,
  GError** error
)

描述 [src]

POSIX readlink() 函数一样读取符号链接 filename 的内容。

返回的字符串以用于文件名的编码方式编码。使用 g_filename_to_utf8() 将其转换为 UTF-8。

返回的字符串也可能是一个相对路径。使用 g_build_filename() 将其转换为绝对路径

g_autoptr(GError) local_error = NULL;
g_autofree gchar *link_target = g_file_read_link ("/etc/localtime", &local_error);

if (local_error != NULL)
  g_error ("Error reading link: %s", local_error->message);

if (!g_path_is_absolute (link_target))
  {
    g_autofree gchar *absolute_link_target = g_build_filename ("/etc", link_target, NULL);
    g_free (link_target);
    link_target = g_steal_pointer (&absolute_link_target);
  }

自 2.4 起可用

参数

filename

类型: const gchar*

符号链接。

数据归函数调用者所有。
此值是一个平台原生的字符串,Unix 上使用首选 OS 编码,Windows 上使用 UTF-8。
error

类型: GError **

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

该参数可以为 NULL
如果返回位置不为 NULL,则您必须将其初始化为 NULL GError*
如果没有错误,该参数将被函数初始化并留空为 NULL
如果发生错误,该参数将被设置为一个新分配的 GError;调用者将拥有对该数据的所有权,并负责释放它。

返回值

类型: gchar*

一个新分配的字符串,其中包含符号链接的内容,如果发生错误,则为 NULL

函数调用者拥有对该数据的所有权,并负责释放它。
此值是一个平台原生的字符串,Unix 上使用首选 OS 编码,Windows 上使用 UTF-8。