_access, _waccess

Определяет, является ли файл только для чтения или нет.Более безопасные версии недоступны; см. _access_s, _waccess_s.

int _access( 
   const char *path, 
   int mode 
);
int _waccess( 
   const wchar_t *path, 
   int mode 
);

Параметры

  • path
    Файл или каталог.

  • mode
    Атрибут чтения/записи.

Возвращаемое значение

Каждая функция возвращает значение 0, если файл имеет заданный режим.Функция возвращает 1, если файл не существует или не содержит заданный режим. в этом случае errno набор как показано в следующей таблице.

  • EACCES
    Доступ запрещен. настройка разрешений файла не разрешает заданный доступ.

  • ENOENT
    Не обнаружены имя файла или путь.

  • EINVAL
    Недопустимый параметр.

Дополнительные сведения об этих и других кодах возврата см. _doserrno, errno, _sys_errlist и _sys_nerr.

Заметки

При использовании с файлами _access функция определяет, существует ли указанный файл или каталог и имеет атрибуты, заданные значения mode.При использовании с каталогами, _access указывает, что только существование указанного каталога; IN Windows 2000 и более поздних операционных системах, все каталоги доступ на чтение и для записи.

Значение mode

Проверяет файл

00

Только существование

02

Доступный только на запись

04

Только для чтения

06

Чтение и запись

Эта функция доступна только проверяет, является ли файл и каталог только для чтения, он не проверяет параметры безопасности файловой системы., Для которого требуется маркер доступа.Дополнительные сведения о безопасности файловой системы, см. в разделе маркеры доступа.Класс библиотеки ATL существует для обеспечения этой функциональности; см. Класс CAccessToken.

_waccess версия расширенных символов _access; path аргумент _waccess строка символов._waccess и _access поступайте идентично в противном случае.

Эта функция проверяет его параметры.If path существует NULL OR mode не задает допустимый режим, недопустимый обработчик вызова, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то функция устанавливает errno В EINVAL и возвращает -1.

Сопоставления подпрограммы Родов-Текста

Подпрограмма Tchar.h

Не указанные _UNICODE и _MBCS

Указанный символ _MBCS

Указанный _UNICODE

_taccess

_access

_access

_waccess

Требования

Процедура

Обязательный заголовок

Необязательные заголовки

_access

<io.h>

<errno.h>

_waccess

<wchar.h> OR <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" );
    }
}
  
  

Эквивалент в .NET Framework

System.IO.FileAccess

См. также

Ссылки

Обработка файла

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, функции _wstat