Compartilhar via


_access_s, _waccess_s

Determina as permissões de leitura/gravar do arquivo.Esta é uma versão de _access, _waccess com aprimoramentos de segurança conforme descrito em Aprimoramentos de segurança no CRT.

errno_t _access_s( 
   const char *path, 
   int mode 
);
errno_t _waccess_s( 
   const wchar_t *path, 
   int mode 
);

Parâmetros

  • path
    Caminho de arquivo ou diretório.

  • mode
    Configuração de permissão.

Valor de retorno

Cada função retorna 0 se o arquivo tiver o determinado modo.A função retorna um código de erro se o arquivo nomeado não existe ou não está acessível no modo de determinado.Neste csistema autônomoe, a função retorna um código de erro do conjunto sistema autônomo segue e também define errno com o mesmo valor.

  • EACCES
    Acesso negado.Configuração de permissão do arquivo não permite acesso especificado.

  • ENOENT
    nome de arquivo ou caminho não encontrado.

  • EINVAL
    Parâmetro inválido.

Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

Quando usado com arquivos, o _access_s função determina se o arquivo especificado existe e pode ser acessado sistema autônomo especificado pelo valor de mode. Quando usado com diretórios, _access_s determina apenas se a pasta especificada existe. In Windows 2000 e sistemas operacionais posteriores, todos os diretórios que leitura e gravar acesso.

valor de modo

Verificações de arquivos para

00

Existência.

02

Permissão de gravar.

04

Permissão de leitura.

06

Permissão de leitura e gravar.

Permissão para ler ou gravar o arquivo não é suficiente para garantir a capacidade de em em aberto um arquivo.Por exemplo, se um arquivo estiver bloqueado por outro processo, ele pode não estar acessível Embora _access_s Retorna 0.

_waccess_s é uma versão de caractere largo da _access_s, onde o path argumento para _waccess_s é uma seqüência de caracteres largos. Caso contrário, _waccess_s e _access_s tenham comportamento idêntico.

Essas funções validar seus parâmetros.If path é NULL ou mode não especifica um modo válido, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções conjunto errno para EINVAL e retornar EINVAL.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_taccess_s

_access_s

_access_s

_waccess_s

Requisitos

Rotina

Cabeçalho necessário

Cabeçalho opcional

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> ou <io.h>

<errno.h>

Exemplo

Este exemplo usa _access_s Para verificar o arquivo chamado crt_access_s.c para ver se ele existe e se é permitida escrita.

// crt_access_s.c

#include <io.h>
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    errno_t err = 0;

    // Check for existence. 
    if ((err = _access_s( "crt_access_s.c", 0 )) == 0 )
    {
        printf_s( "File crt_access_s.c exists.\n" );

        // Check for write permission. 
        if ((err = _access_s( "crt_access_s.c", 2 )) == 0 )
        {
            printf_s( "File crt_access_s.c does have "
                      "write permission.\n" );
        }
        else
        {
            printf_s( "File crt_access_s.c does not have "
                      "write permission.\n" );
        }
    }
    else
    {
        printf_s( "File crt_access_s.c does not exist.\n" );
    }
}

File crt_access_s.c exists. File crt_access_s.c does not have write permission.

Equivalente do NET Framework

System.IO.FileAccess

Consulte também

Referência

Manipulação de arquivos

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_Open, _wopen

_stat, _wstat funções