CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
access
access
Функция Определяет возможность доступа к файлу.
Синтаксис #include<io.h>
int access(const char * filename, int amode);
Файл, содержащий io.h
прототип
Описание access проверяет файл c именем filename для
определения, существует ли он, может ли он быть
прочитан, записан или выполнен.
Список значений параметра amode:
06 проверка разрешения на чтение и запись;
04 проверка разрешения на чтение;
02 проверка разрешения на запись;
01 проверка на выполнение (игнорируется);
00 проверка на существование файла;
Примечание. Под управлением операционной системы
DOS все существующие файлы имеют доступ на чтение
(amode равен 04), поэтому 00 и 04 дают один и тот
же результат. По той же причине значения параметра
amode эквивалентны, поскольку под DOS доступ для
записи включает и доступ по чтению.
Если параметр filename является ссылкой на
директорию, функция access просто проверяет,
существует данная директория или нет.
Возвращаемое Если требуемый способ доступа разрешен, access
значение возвращает значение 0, иначе возвращается значение
-1 и переменная errno получает одно из следующий
значений:
ENOENT - Маршрут или имя файла не найдены
EACCES - Отказ доступа.
Переносимость Поддерживается на системах UNIX.
Смотрите также chmod, fstat, stat.
Пример:
#include <stdio.h>
#include <io.h>
int file_exists(char * filename);
int main(void)
{
printf("Существует ли файл NOTEXIST.FIL: %s\n",
file_exists("NOTEXIST.FIL") ? "Да":"Нет");
}
int file_exists(char * filename)
{
return (access(filename, 0) == 0);
}
Результат:
Существует ли файл NOTEXIST.FIL: Нет
