Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Determina se un file è di sola lettura o meno. Sono disponibili versioni più sicure; vedere _access_s, _waccess_s.
Per _taccess, vedere Mapping di funzioni di testo generico.
Sintassi
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Parametri
path
Percorso di file o directory.
mode
Attributo di lettura/scrittura.
Valore restituito
Ogni funzione restituisce 0 se il file ha la modalità specificata. La funzione restituisce -1 se il file denominato non esiste o non ha la modalità specificata; in questo caso, errno viene impostato come illustrato nella tabella seguente.
| valore | Descrizione |
|---|---|
EACCES |
Accesso negato: l'impostazione di autorizzazione del file non consente l'accesso specificato. |
ENOENT |
Nome file o percorso non trovato. |
EINVAL |
Parametro non valido. |
Per altre informazioni su questi e altri codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.
Osservazioni:
Se usata con i file, la funzione _access determina se il file o la directory specificata esiste e ha gli attributi specificati dal valore di mode. Se utilizzata con le directory, _access determina solo se la directory specificata esiste; nei sistemi operativi Windows 2000 e versioni successive, tutte le directory hanno accesso in lettura e scrittura.
Valore mode |
Controllo nel file |
|---|---|
| 00 | Solo esistenza |
| 02 | Sola scrittura |
| 04 | Sola lettura |
| 06 | Lettura e scrittura |
Questa funzione controlla solo se il file e la directory sono di sola lettura o meno, non controlla le impostazioni di sicurezza del file system. A tale scopo è necessario un token di accesso. Per altre informazioni sulla sicurezza del file system, vedere Token di accesso. Esiste una classe ATL per fornire questa funzionalità; vedere CAccessToken Classe.
_waccess è una versione a caratteri wide di _access; l'argomento path in _waccess è una stringa di caratteri wide. In caso contrario,_waccess e _access si comportano in modo identico.
Questa funzione convalida i relativi parametri. Se path è NULL o mode non specifica una modalità valida, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione imposta errno su EINVAL e restituisce -1.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di funzioni di testo generico
Tchar.h routine |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
|---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Requisiti
| Ciclo | Intestazione obbligatoria | Intestazioni facoltative |
|---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<wchar.h> oppure <io.h> |
<errno.h> |
Esempio
Nell'esempio seguente viene _access usato per controllare il file denominato crt_ACCESS.C per verificare se esiste e se la scrittura è consentita.
// 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.
Vedi anche
Gestione dei file
_chmod, _wchmod
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64_fstat64i32
_open, _wopen
_stat, _wstat funzioni