Путь к домашнему каталогу текущего пользователя находится в переменной среды HOME
.(Я знаю системы, в которых домашние каталоги распределены по нескольким разделам (скажем, /vol/vol[number]/[first letter]/[user name]
) и не расположены в /home/
.)
Для других пользователей есть getpwent
(и getpwent_r
), которыеизвлеките домашний каталог из записи passwd.
Для других каталогов существует Стандарт иерархии файловой системы , которого придерживается большинство дистрибутивов Linux, а также некоторые другие OSen.
Не думаю, что для этого есть API.Таким образом, если система работает по-другому, вы сами по себе - удачи!; -)