Существуют ли переносимые способы изменения переменных среды? - PullRequest
0 голосов
/ 27 февраля 2012

Я заметил, что стандарт C определяет функцию getenv (), но (7.22.4.2)

метод изменения списка среды [определяется] реализацией.

Я пытаюсь, чтобы моя программа работала над как можно большим количеством реализаций C, существует ли хороший общий способ проверить, есть ли у реализации метод для установки переменной среды и что это за метод, или я будудолжны принять это в каждом конкретном случае?Кроме того, формулировка этой цитаты подсказывает мне, что для каждой реализации должен быть НЕКОТОРЫЙ метод, верно ли это понимание?

Ответы [ 2 ]

3 голосов
/ 27 февраля 2012

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

0 голосов
/ 27 февраля 2012

setenv - это тот парень, который вам нужен.

...