在C / Unix中查找我的主目录

时间:2016-03-12 14:41:25

标签: c unix directory chdir home-directory

我写了一个shell,每当用户给出像cd -blabla这样的参数时,它会将目录更改为bla bla.But当我输入cd时,我希望它转到我的主目录。分配我的主目录很简单。我只是写了whereis找到我的主目录的终端,但我可以更改我的主目录。如果我手动输入我的地址到函数chdir(),那么它将始终更改为该目录。如何在C中找到最新的主目录?(每次我改变我的主目录时都会改变)

1 个答案:

答案 0 :(得分:0)

你应该看看pwd.h。您可以通过UID或名称获取有关用户的信息。

id

示例
struct passwd *info = getpwuid(1000);

将1000更改为您需要的UID。您可以使用unistd.h中定义的getuid() 获得当前用户。

字段

info->pw_dir

包含用户的主路径。