pub fn home_dir() -> Option<PathBuf>
👎Deprecated since 1.29.0: This function’s behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
Expand description
返回当前用户主目录的路径 (如果已知)。
Unix
- 返回 ‘HOME’ 环境变量的值 (如果已设置) (包括一个空字符串)。
- 否则,它将尝试通过使用当前用户的 UID 调用
getpwuid_r
函数来确定主目录。 从getpwuid_r
函数返回的空主目录字段被视为有效值。 - 如果当前用户在 /etc/passwd 文件中没有条目,则返回
None
。
Windows
- 返回 ‘HOME’ 环境变量的值 (如果已设置) (包括一个空字符串)。
- 否则,返回 ‘USERPROFILE’ 环境变量的值 (如果已设置) (包括一个空字符串)。
- 如果两者都不存在,则使用
GetUserProfileDirectory
返回路径。
Deprecation
此函数已弃用,因为 Windows 上的行为不正确。
‘HOME’ 环境变量在 Windows 上不是标准的,可能不会产生预期的结果; 例如,在 Cygwin 或 Mingw 下,它会在应该返回 C:\Users\you
时返回 /home/you
。
Examples
use std::env;
match env::home_dir() {
Some(path) => println!("Your home directory, probably: {}", path.display()),
None => println!("Impossible to get your home dir!"),
}
Run