Partilhar via


_access, _waccess

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

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

Parâmetros

  • path
    Caminho de arquivo ou diretório.

  • mode
    Atributo de leitura/gravar.

Valor de retorno

Cada função retorna 0 se o arquivo tiver o determinado modo.A função retorna – 1 se o arquivo nomeado não existe ou não tem determinado modo; nesse caso, errno é definido sistema autônomo mostrado na tabela a seguir.

  • 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 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 diretório existe e se tem os atributos especificados pelo valor do mode. Quando usado com diretórios, _access determina apenas se o especificado diretório existe; na Windows 2000 e sistemas operacionais posteriores, todos os diretórios que leitura e gravar acesso.

mode valor

Verificações de arquivos para

00

Existência somente

02

somente gravar

04

Somente leitura

06

Leitura e gravar

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

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

Esta função valida os 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, a função define errno para EINVAL e retorna -1.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS 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 utiliza _access Para verificar o arquivo chamado crt_ACCESS.C para ver se ele existe e se é permitida 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" );
    }
}

File crt_ACCESS.C exists. File crt_ACCESS.C does not have write permission.

Equivalente 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