_access, _waccess

determina si un archivo es de sólo lectura o no.Versiones más seguras están disponibles; vea _access_s, _waccess_s.

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

Parámetros

  • path
    Archivo o ruta de acceso del directorio.

  • mode
    Atributo de lectura y escritura.

Valor devuelto

Cada función devuelve 0 si el archivo tiene el modo especificado.La función devuelve – 1 si no existe el archivo con nombre o no tiene un modo determinado; en este caso, errno se establecen como se muestra en la tabla siguiente.

  • EACCES
    Acceso denegado: la configuración de permisos del archivo no permite el acceso especificado.

  • ENOENT
    nombre de archivo o ruta no encontrada.

  • EINVAL
    Parámetro no válido.

Para obtener más información sobre éstos y otros códigos de retorno, vea _doserrno, errno, _sys_errlist, y _sys_nerr.

Comentarios

Cuando se utiliza con archivos, la función de _access determina si el archivo o el directorio especificado existe y tiene los atributos especificados por el valor de mode.Cuando se utiliza con los directorios, _access únicamente determina si existe el directorio especificado; en Windows 2000 y sistemas operativos posteriores, todos los directorios tienen acceso de lectura y escritura.

Valor de mode

comprueba el archivo para

00

Existencia sólo

02

solo escritura

04

De sólo lectura

06

lectura y escritura

Esta función sólo comprueba si el archivo y el directorio son de sólo lectura o no, no comprueba la configuración de seguridad del sistema de archivos.Para que se necesita un token de acceso.Para obtener más información sobre la seguridad del sistema de archivos, vea símbolos de acceso.Una clase ATL existe para proporcionar esta funcionalidad; vea Clase de CAccessToken.

_waccess es una versión con caracteres anchos de _access; el argumento de path a _waccess es una cadena de caracteres._waccess y _access se comportan exactamente igual de otra manera.

esta función valida sus parámetros.Si path es NULL o mode no especifica un modo válido, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, la función establece errno a EINVAL y devuelve -1.

Asignaciones de la rutina de texto genérico

rutina de Tchar.h

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_taccess

_access

_access

_waccess

Requisitos

rutina

Encabezado necesario

encabezados opcionales

_access

<io.h>

<errno.h>

_waccess

<wchar.h> o <io.h>

<errno.h>

Ejemplo

El ejemplo siguiente utiliza _access para comprobar el archivo denominado crt_ACCESS.C para ver si existe y si la escritura está permitida.

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

Equivalente en .NET Framework

System.IO.FileAccess

Vea también

Referencia

El control de archivo

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, funciones de _wstat