Какие могут быть параметры для char getenv (const char * name) ;? - PullRequest
0 голосов
/ 27 сентября 2011

Я просмотрел различную документацию по getenv(), все, что они описывают, это как ее использовать и что она делает, т.е. переменная окружения, имя которой указано в качестве аргумента.

Но я пытаюсь найти полный список или, по крайней мере, как можно больше, которые можно использовать с getenv()

Я знаю мало как,

MANPATH
HOSTNAME
PATH
INFOPATH
PKG_CONFIG_PATH
USER

Может ли кто-нибудь помочь мне расширить этот список?

Ответы [ 2 ]

3 голосов
/ 27 сентября 2011

Там - это полный список, потому что любой пользователь или любая программа может определять свои собственные переменные среды со своими собственными значениями.Вы могли бы попросить полный список переменных, которые понимает данная программа - в этом случае часто страница руководства программы будет перечислять их.

3 голосов
/ 27 сентября 2011

getenv запрашивает ваше окружение для любого имени переменной. В Unix вы можете установить любую переменную в оболочке, чтобы не было ограничений на то, что можно использовать (в OSX я думаю, что это любая строка Unicode без пробелов) Таким образом, нет полного списка.

Чтобы увидеть, что находится в вашей среде, введите env в окне терминала.

или согласно стандарту Unix

Значением переменной среды является строка символов. Для программы на языке Си, когда начинается процесс, становится доступным массив строк, называемых средой. На массив указывает внешняя переменная environment, которая определяется как:

extern char **environ;
...