gpt4 book ai didi

c++ - 如何在 Windows 上获取用户主目录?

转载 作者:可可西里 更新时间:2023-11-01 09:32:45 28 4
gpt4 key购买 nike

我正在开发一个跨平台库,旨在从用户的主目录加载配置文件。这个想法是在不编辑代码的情况下自动提供配置参数。

此库可用于桌面应用程序或守护进程/服务。在(我假设)大多数 Unix 环境中,我可以使用 getpwuid() 来获取用户的主目录。在 Windows 中所以 told me我可以使用 SHGetKnownFolderPath但它的文档说它仅适用于桌面应用程序。有没有办法在 Windows 上为运行服务的用户获取此路径?

最佳答案

对于控制台应用程序,最简单的方法是检索 USERPROFILE 环境变量或连接 HOMEDRIVEHOMEPATH 环境变量的值.

使用标准库中的getenv()函数:https://msdn.microsoft.com/en-us/library/tehxacec.aspx

示例程序:

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char** argv) {
printf("USERPROFILE = %s\n", getenv("USERPROFILE"));
printf("HOMEDRIVE = %s\n", getenv("HOMEDRIVE"));
printf("HOMEPATH = %s\n", getenv("HOMEPATH"));
return 0;
}

输出:

USERPROFILE = C:\Users\myuser
HOMEDRIVE = C:
HOMEPATH = \Users\myuser

关于c++ - 如何在 Windows 上获取用户主目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42696260/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com