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.*/
