2010-12-15 4 views
3

Как я могу получить текущий путь пользователя в Linux? Это может быть либо с API-интерфейсом GTK + framework, либо с простым C++.Текущий путь пользователя в Linux?

+1

http://stackoverflow.com/questions/143174/cc-how-to-obtain-the-full-path-of-current-directory – Manu 2010-12-15 10:58:40

ответ

1

Если вы хотите, чтобы получить домашний каталог использовать getenv("HOME")

4

Предполагая, что вы имеете в виду текущий каталог процесса:

1

Не уверен, хотите ли вы содержимое $ PATH или текущего рабочего каталога пользователя. Однако, чтобы покрыть оба варианта ...

PATH является переменной окружения, так что вы можете получить доступ к этому с getenv(), в данном случае getenv("PATH"), и определяется в <stdlib.h>.

Текущий рабочий каталог можно получить с помощью getcwd() и определяется в <unistd.h>.

2

g_get_home_dir() из Glib более кросс-платформенный, чем getenv("HOME"). Он также предпочитает записи/etc/passwd над переменной HOME по разным причинам, обсуждаемым на aforementioned link.