CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
access
ACCESS
#include <io.h> требуется только для объявления
функции
int access(pathname, mode);
char *pathname; path-имя файла или директория
int mode; разрешенный доступ
Описание.
Для файлов функция access определяет, существует или нет
определенный файл, может ли он быть доступен в заданном режиме
mode. Возможные значения mode и их обозначения в вызовах access
приведены ниже.
ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ
06 Проверка на доступ по чтению и
записи
04 Проверка на доступ по чтения
02 Проверка на доступ по записи
00 Проверка только на существование
В MS DOS все существующие файлы имеют доступ по чтению, по-
этому режимы 00 и 04 вырабатывают один и тот же результат. Анало-
гично, режимы 06 и 02 являются эквивалентными, поскольку в MS DOS
доступ по записи предполагает доступ по чтению.
Для директориев access определяет, существуют или нет за-
данные директории; под управлением MS DOS все директории имеют
доступ по чтению и записи.
Возвращаемое значение.
Функция access возвращает значение 0, если файл имеет за-
данный режим mode. Возвращаемое значение -1 свидетельствует о
том, что названный файл не существует или недоступен в заданном
mode, и errno устанавливается в одно из следующих значений:
ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ
EACCES Доступ запрещен; установленный статус
для файла не допускает заданного до-
ступа
ENOENT Файл или path-имя не найдено
См.также chmod, fstat, open, stat.
Пример:
#include <io.h>
#include <fcntl.h>
int fh;
.
.
.
/* проверка доступа по записи */
if ((access("data",2))==-1 {
perror("data file not writable");
exit(1);
}
else
fh=open("data", O_WRONLY);
