_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
);
path
Caminho de arquivo ou diretório.mode
Configuração de permissão.
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.
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 |
Rotina |
Cabeçalho necessário |
Cabeçalho opcional |
---|---|---|
_access_s |
<io.h> |
<errno.h> |
_waccess_s |
<wchar.h> ou <io.h> |
<errno.h> |
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.
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32