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