我如何获得当前用户主目录的path?
例如:在Windows中,如果当前用户是“guest”,我需要“C:\ Users \ guest”
我的应用程序将在大多数Windows版本(XP,Vista,Win 7)上运行。
使用函数SHGetFolderPath
。 这个函数优于查询环境变量,因为后者可以修改为指向错误的位置。 该文档包含一个例子,我在这里重复(稍作调整):
#include <Shlobj.h> // need to include definitions of constants // ..... WCHAR path[MAX_PATH]; if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_PROFILE, NULL, 0, path))) { ... }
只要使用环境变量,在这种情况下,你想要%HOMEPATH%
并将其与%SystemDrive%
http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows
我已经使用%USERPROFILE%获取当前用户的主目录的路径。