Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определяет, доступен ли файл только для чтения или нет. Доступны более безопасные версии; see _access_s, _waccess_s.
Дополнительные сведения см. в _taccessсопоставлениях функций универсального текста.
Синтаксис
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Параметры
path
Путь к файлу или каталогу.
mode
Атрибут чтения и записи.
Возвращаемое значение
Если файл имеет заданный режим, все функции возвращают значение 0. Функция возвращает значение -1, если именованный файл не существует или не имеет заданного режима; В этом случае задано значение, errno как показано в следующей таблице.
| значение | Описание |
|---|---|
EACCES |
Доступ запрещен: параметр разрешения файла не разрешает указанный доступ. |
ENOENT |
Имя файла или путь не найдены. |
EINVAL |
Недопустимый параметр . |
Дополнительные сведения об этих и других кодах возврата см. в разделе errno, _doserrnoи _sys_nerr_sys_errlist.
Замечания
При использовании с файлами функция _access определяет, существует ли указанный файл или каталог и имеет ли он атрибуты, указанные в значении mode. При использовании с каталогами определяет, существует ли указанный каталог; в операционных системах _access Windows 2000 и более поздних версий все каталоги имеют доступ на чтение и запись.
Значение mode |
Проверяет файл на |
|---|---|
| 00 | Существование |
| 02 | Только для записи |
| 04 | Только для чтения |
| 06 | Чтение и запись |
Эта функция проверяет, доступен ли файл и каталог только для чтения или нет, он не проверяет параметры безопасности файловой системы. Для этого требуется токен доступа. Дополнительные сведения о безопасности файловой системы см. в разделе "Маркеры доступа". Класс ATL существует для предоставления этой функции; см CAccessToken . класс.
_waccess — это версия _accessс расширенными символами; аргумент path для _waccess — строка расширенных символов. Поведение_waccess и _access идентично в противном случае.
Эта функция проверяет свои параметры. Если path этот NULL режим не указан или mode не указан, вызывается обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, функция устанавливает параметр errno в значение EINVAL и возвращает –1.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления функций универсального текста
Tchar.h рутина |
_UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
|---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Требования
| Маршрут | Обязательный заголовок | Необязательные заголовки |
|---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<wchar.h> или <io.h> |
<errno.h> |
Пример
В следующем примере используется _access проверка именованного crt_ACCESS.C файла, чтобы узнать, существует ли оно и разрешено ли запись.
// crt_access.c
// compile with: /W1
// This example uses _access to check the file named
// crt_ACCESS.C to see if it exists and if writing is allowed.
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
// Check for existence.
if( (_access( "crt_ACCESS.C", 0 )) != -1 )
{
printf_s( "File crt_ACCESS.C exists.\n" );
// Check for write permission.
// Assume file is read-only.
if( (_access( "crt_ACCESS.C", 2 )) == -1 )
printf_s( "File crt_ACCESS.C does not have write permission.\n" );
}
}
File crt_ACCESS.C exists.
File crt_ACCESS.C does not have write permission.
См. также
Обработка файлов
_chmod, _wchmod
_fstat, , _fstat32_fstati64_fstat64_fstat32i64,_fstat64i32
_open, _wopen
_stat, _wstat функции