confstr - получает строковую переменную конфигурации
НАЗВАНИЕconfstr - получает строковую переменную конфигурации
СИНТАКСИС
#define _POSIX_C_SOURCE 2
или
#define _XOPEN_SOURCE
#include
size_t confstr(int name, char *buf, size_t len);
ОПИСАНИЕ
confstr() получает строковую переменную, зависящую от
текущей конфигурации.
Аргумент name - это название системной переменной, которую
надо получить. Поддерживаются следующие переменные:
_CS_PATH
Переменная PATH определяет расположение всех утилит
стандарта POSIX.2.
Если buf не равно NULL и len - это не ноль, то confstr()
копирует строку в buf, укорачивая ее до len - 1 символов,
если это необходимо; также добавляет нулевой символ в
конец строки. Это может быть проверено сравнением
возвращаемой величины confstr() с len.
Если len равна нулю и buf равен NULL, то confstr() просто
возвращает значение, как сказано ниже.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Если name не соответствует списку конфигурационных строк,
то confstr() возвращает 0.
ПРИМЕРЫ
Следующий фрагмент кода определяет расположение всех
утилит стандарта POSIX.2:
char *pathbuf; size_t n;
n = confstr(_CS_PATH,NULL,(size_t)0);
if ((pathbuf = malloc(n)) == NULL) abort();
confstr(_CS_PATH, pathbuf, n);
КОДЫ ОШИБОК
Если величина name неверна, то переменной errno
присваивается код ошибки EINVAL.
СООТВЕТСТВИЕ СТАНДАРТАМ
proposed POSIX.2
НАЙДЕННЫЕ ОШИБКИ
POSIX.2 еще не утвердил окончательный стандарт; информация
на этой странице в будущем изменится.