CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
getcwd
GETCWD #include <direct.h> требуется только для объявления функ- ции. char *getcwd(pathbuf,n); char *pathbuf; память для path-имени. int n; максимальная длина path-имени. Описание: Функция getcwd получает полное path-имя текущего рабочего директория и запоминает его в pathbuf. Целый аргумент n определя- ет максимальную длину для path-имени. Возникает ошибка, если дли- на path-имени, включая нулевой символ окончания, превышает n. Аргумент pathbuf может быть NULL; буфер размером n будет автоматически захватываться посредством malloc и использоваться для хранения path-имени. Этот буфер позже может быть освобожден при использовании возвращаемого значения функции getchar (указа- тель на захваченный буфер) посредством функции free. Возвращаемое значение: Функция getcwd возвращает pathbuf. Возвращаемое значение NULL свидетельствует об ошибке и errno устанавливается в одно из следующих значений: Значение Его смысл ENOMEM Памяти недостаточно для размещения n байт (когда аргумент NULL задан как pathbuf). ERANGE Path-имя длинее, чем n символов. См.также chdir, mkdir, rmdir. Пример. #include <direct.h> #include <stdlib.h> char buffer [51]; /* следующий оператор записывает имя текущего рабочего ** директория (длиной до 50 символов) в буфер */ if (getcwd(buffer,50)==NULL) perror("getcwd error"); GETENV. #include <stdlib.h> требуется только для объявления функ- ции. char *getenv(varname); char *varname; имя переменной окружения. Описание: Функция getenv возвращает указатель на значение переменной окружения для соответствующего имени varname этой переменной. Пе- ременные окружения определяют окружение, в котором выполняется процесс (например, поиск path для библиотек, которые линкуются вместе с программой). Возвращаемое значение: Функция getenv возвращает указатель на значение (строку) переменной окружения, содержащую текущее зачение строки varname. Возвращается значение NULL, если заданная переменая в текущий мо- мент не определена. См. также putenv. Замечание! Запись в таблице переменных окружения непосредс- твенно не может быть изменена. Если запись нужно изменить, ис- пользуется функция putenv. Чтобы модифицировать возвращаемое зна- чение и при этом не затронуть таблицу переменных окружения, нужно использовать функции strdup или strcpy, которые позволяют копиро- вание строки. Функции getenv и putenv используют глобальную переменную environ для доступа к таблице переменных окружения. Функция putenv может изменять значение environ, делая недействительным аргумент "envp" для функции "main". Пример. #include <stdlib.h> char *pathvar; /* следующий оператор получает значение переменной окруже- ния PATH */ pathvar = getenv("PATH"); /* Если в окружении есть запись "PATH = A:\BIN; B:\BIN", то указатель pathvar будет ссылаться на "A:\BIN; B:\BIN". Если пе- ременной окружения PATH нет,указатель pathvar будет равен NULL.*/