Большинство операционных систем позволяют определять переменные среды, к которым программы могут обращаться для определения разных параметров, таких как командный путь. Например, при использовании среды MS-DOS, переменные среды устанавливаются или выводятся с помощью команды SET. В зависимости от типа компилятора можно обращаться к переменным среды из программы, используя третий параметр main с именем env. Подобно параметру argv, параметр env представляет собой указатель на массив указателей на символьные строки. Также, подобно argv, C++ завершает этот массив символом NULL. Если компилятор поддерживает параметр env, вы можете изменить заголовок функции main, как показано ниже:
void main(int argc, char *argv[], char *env[])
Следующая программа SHOWENV.CPP выполняет цикл по элементам массива env для вывода переменных среды программы:
#include <iostream.b>
void main(int argc, char *argv[], char *env[])
{
while (*env) cout << *env++ << endl;
}
Эта программа просто выполняет цикл по элементам массива env, пока не встретит указатель NULL, который указывает последнюю запись массива. Если откомпилировать и запустить ее, она выведет ваши переменные среды, как показано ниже:
С:\> SHOWENV <ENTER>
ТЕМР=С:\WINDOWS\TEMP
PROMPT=$p$g
COMSPEC=C:\WINDOWS\COMMAND.СОМ
РАТН=С:\WINDOWS;С:\DOS