Шрифт:
Указатели на каждый из параметров передаются в массиве
Массив
Стандарт ANSI С определяет только два первых аргумента функции main —
Рекомендуется следовать последнему формату передачи для лучшей переносимости программ на другие платформы UNIX.
Рис. 2.6. Передача переменных окружения
Приведем пример программы, соответствующую стандарту POSIX.1, которая выводит значения всех аргументов, переданных функции main: число переданных параметров, сами параметры и значения первых десяти переменных окружения.
В результате компиляции будет создан исполняемый файл программы (по умолчанию a.out). Запустив его, мы увидим следующую информацию:
Максимальный объем памяти для хранения параметров и переменных окружения программы ограничен величиной
Для получения и установки значений конкретных переменных окружения используются две функции: getenv(3C) и putenv(3C):
возвращает значение переменной окружения
помещает переменную и ее значение (
В качестве примера приведем программу, похожую по своей функциональности на предыдущую, которая выборочно выводит значения переменных и устанавливает новые значения по желанию пользователя.