Share via


_access, _waccess

Determina se um arquivo é somente leitura ou não.Versões mais seguras estão disponíveis; see _access_s, _waccess_s.

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

Parâmetros

  • path
    Caminho do arquivo ou diretório.

  • mode
    Atributo de leitura/gravação.

Valor de retorno

Cada função retorna 0 se o arquivo tiver determinado modo.A função retorna – 1 se o arquivo nomeado não existe ou não tem o modo determinado; Nesse caso, errno é definida como mostrado na tabela a seguir.

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

  • ENOENT
    Nome do arquivo ou caminho não encontrado.

  • EINVAL
    Parâmetro inválido.

Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist e _sys_nerr.

Comentários

Quando usado com arquivos, o _access função determina se o arquivo especificado ou o diretório existe e tem os atributos especificados pelo valor do mode.Quando usado com diretórios, _access determina apenas se o diretório especificado existe; na Windows 2000 e posterior operacionais sistemas, todos os diretórios têm leitura e gravação acesso.

modevalor

Verificações de arquivo para

00

Existência somente

02

Somente para gravação

04

Somente leitura

06

Leitura e gravação

Esta função só verifica se o arquivo e diretório são somente leitura ou não, não verifica as configurações de segurança do sistema de arquivos.Para isso você precisa de um token de acesso.Para obter mais informações sobre a segurança do sistema de arquivos, consulte Tokens de acesso.Existe uma classe ATL para fornecer essa funcionalidade; see Classe de CAccessToken.

_waccessé uma versão de caractere largo de _access; o path argumento para _waccess é uma seqüência de caracteres largos._waccesse _access tenham comportamento idêntico caso contrário.

Esta função valida seus parâmetros.Se path é NULL ou mode não especifica um modo válido, o manipulador de parâmetro inválido é invocado, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, a função define errno para EINVAL e retorna -1.

Mapeamentos de rotina de texto genérico

Rotina de TCHAR.h

_ Unicode e _ MBCS do arquivo não definido

_ MBCS do arquivo definido

_ Unicode definido

_taccess

_access

_access

_waccess

Requisitos

Rotina

Cabeçalho necessário

Cabeçalhos opcionais

_access

<io.h>

<errno.h>

_waccess

<wchar.h> ou <io.h>

<errno.h>

Exemplo

O exemplo a seguir usa _access para verificar o arquivo chamado crt_ACCESS.C para ver se ele existe e se será permitida ou escrita.

// 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" );
    }
}
  
  

Equivalência do .NET Framework

System.IO.FileAccess

Consulte também

Referência

Manipulação de arquivos

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

Open, _wopen

_stat, _wstat funções