函数

GLibcanonicalize_filename

自:2.58

声明 [src]

gchar*
g_canonicalize_filename (
  const gchar* filename,
  const gchar* relative_to
)

说明 [src]

filename 获取规范的文件名。所有三个斜杠都变为单个斜杠,并针对 relative_to 解析所有 ...

不会跟踪符号链接,且返回的路径保证是绝对路径。

如果 filename 是绝对路径,则忽略 relative_to。否则,将 relative_to 预添加到 filename 以使其变为绝对路径。relative_to 必须是绝对路径或 NULL。如果 relative_toNULL,则会退回至 g_get_current_dir()。

此函数永不失败,即使文件路径并不存在,也会对其规范化。

不执行任何文件系统 I/O。

自 2.58 起提供

参数

filename

类型: const gchar*

文件的名称。

其中的数据由函数的调用者所有。
该值是平台原生字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。
relative_to

类型: const gchar*

相对目录,或 NULL 以使用当前工作目录。

参数可以是 NULL
其中的数据由函数的调用者所有。
该值是平台原生字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。

返回值

类型: gchar*

一个新分配的包含规范文件路径的字符串。

函数的调用者拥有该数据的权限,并负责释放它。
该值是平台原生字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。