_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
Consulte também
Referência
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32