函数
GLibget_home_dir
声明 [src]
const gchar*
g_get_home_dir (
void
)
说明 [src]
获取当前用户的 home 目录。
与大多数 UNIX 工具一样,if HOME
环境变量设置为现有绝对路径名称,则此函数会返回该环境变量的值,而如果 HOME
为未设置状态,则会再退而访问 passwd
文件。
如果 HOME
中给定的路径是非绝对路径或不存在,或者不是目录,则结果是未定义的。
在版本 2.36 之前,此函数会忽略 HOME
环境变量,而是采用 passwd
数据库中的值。此问题已被更改,以便提高 GLib 与其他程序(以及 XDG 基准目录规范)的兼容性,并提高基于 GLib 的程序的可测试性(通过使其更易于从测试框架中运行)。
如果你的程序对新旧行为有很强的要求(并且不想增加对 GLib 的依赖以确保新行为生效),那么你应该直接检查 HOME
环境变量,或在调用 GLib 中的任何函数之前将其取消设置。