¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_access_s, _waccess_s

Determina los permisos de lectura y escritura del archivo. Ésta es una versión de _access, _waccess con mejoras de seguridad como se describe en Características de seguridad de CRT.

errno_t _access_s( 
   const char *path, 
   int mode 
);
errno_t _waccess_s( 
   const wchar_t *path, 
   int mode 
);

path

Archivo o ruta de acceso del directorio.

mode

Configuración de permisos.

Cada función devuelve 0 si el archivo tiene el modo especificado. La función devuelve un código de error si no existe el archivo con nombre o no está disponible en el modo especificado. En este caso, la función devuelve un código de error de conjunto como sigue y también establece errno al mismo valor.

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, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Cuando se utiliza con archivos, la función de _access_s determina si el archivo especificado existe y se puede lograr según lo especificado por el valor de mode. Cuando se utiliza con los directorios, _access_s únicamente determina si existe el directorio especificado. En Windows 2000 y sistemas operativos posteriores, todos los directorios tienen acceso de lectura y escritura.

valor mode

Comprueba el archivo para

00

Existencia únicamente.

02

Permiso de escritura.

04

Permiso de Lectura.

06

Permiso de lectura y escritura.

El permiso para leer o escribir el archivo no es suficiente para garantizar la capacidad de abrir un archivo. Por ejemplo, si un archivo está bloqueado por otro proceso, no es accesible aunque _access_s devuelve 0.

_waccess_s es una versión con caracteres anchos de _access_s, donde es una cadena de caracteres el argumento de path a _waccess_s de. De lo contrario, los objetos _waccess_s y _access_s se comportan de forma idéntica.

Estas funciones validan 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, estas funciones establecen errno en EINVAL y devuelven EINVAL.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_taccess_s

_access_s

_access_s

_waccess_s

Rutina

Encabezado necesario

Encabezado opcional

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h o> io.h <>

<errno.h>

Este ejemplo utiliza _access_s para comprobar el archivo denominado crt_access_s.c para ver si existe y si la escritura está permitida.

// 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" );
    }
}
El archivo crt_access_s.c existe.
El archivo crt_access_s.c no tiene permiso de escritura.

Adiciones de comunidad

Mostrar:
© 2015 Microsoft