Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Переменный окружения


Автор: Гость_Diamond 24.4.2005, 17:20
Нужна помощь с лабой...(=
Задание: создайте программу, которая будет производить проверку, установлена ли указанная с терминала переменная окружения; если она не установлена, выдавать приглашение на ее установку и устанавливать заданное с терминала значение...

Я думал как сделать:
1. ввод с терминала значения. Это значение записать как строку.
2. командой getenv сделать проверку значения, если никакого значения нет, то использовать команду putenv. Если есть, то просто вывести значение переменной окружения.
3. вводить значение и командой putenv записывать его в качестве значения перменной, имя которой введено как значение в пункте 1. Но putenv вообще с динамической памятью плохо работает, а по идее нужна динамическая строка вида par[1]=par[2].

В общем не знаю как сделать установку нового значения в данном случае... Надеюсь на Вашу помощь...

Автор: bilbobagginz 25.4.2005, 01:09
мне кажется что в задании нужно проверять не значение а сам факт оперделения переменной. т.е. если 2 переменных имеют одно и то же значение - нужно менять только ту про к-рую спросил пользователь.

тебе нужно написать прогу , чтоб получала строку.
проверив что строка - законна ( т.е. - это 1 слово ), нужно сделать getenv(это слово).
если ф. возвратит NULL, то нужно запустить схему установки этой новой переменной.

желательно в самой программе сделать fork() на проверку getenv() после setenv().

Удачи,

пока.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)