_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
Vea también
Referencia
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32