_access, _waccess
Determina se un file è di sola lettura o meno.Più versioni sicure sono disponibili, vedere _access_s, _waccess_s.
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Parametri
path
File o il percorso della directory.mode
attributo lettura /scrittura.
Valore restituito
Ogni funzione restituisce 0 se il file è la modalità specificata.La funzione restituisce - 1 se il file denominato non esiste o non dispone della modalità specificata; in questo caso, errno è impostato come illustrato nella tabella seguente.
EACCES
Accesso negato: l'impostazione di autorizzazione del file non consente l'accesso specificato.ENOENT
Nome file o il percorso non trovato.EINVAL
parametro non valido.
Per ulteriori informazioni su questi e altri codici restituiti, vedere _doserrno, errno, _sys_errlist e _sys_nerr.
Note
una volta utilizzato con i file, _access la funzione determina se il file o la directory specificata esista e dispone degli attributi specificati dal valore di mode.una volta utilizzato con le directory, _access determina solo se la directory specificata esiste; in Windows 2000 i sistemi operativi successivi, tutte le directory grado di leggere e accesso in scrittura.
Valore mode |
I controlli file per |
---|---|
00 |
Esistenza solo |
02 |
sola scrittura |
04 |
Sola lettura |
06 |
leggere e scrivere |
Questa funzione esamina solo se il file e la directory è di sola lettura o meno, non controlla le impostazioni di sicurezza di filesystem.Per che è necessario un token di accesso.Per ulteriori informazioni sulla sicurezza di filesystem, vedere token di accesso.Una classe ATL esiste per fornire questa funzionalità, vedere Classe di CAccessToken.
_waccess è una versione a caratteri estesi di _access; path argomento a _waccess è una stringa di caratteri estesi._waccess e _access comportano in modo identico in caso contrario.
Questa funzione convalida dei parametri.se path viene NULL o mode non specificare la modalità valida, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, set di funzione errno in EINVAL e restituisce -1.
Mapping di routine a testo generico
routine di Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Requisiti
routine |
Intestazione di associazione |
intestazioni facoltative |
---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<wchar.h> o <io.h> |
<errno.h> |
Esempio
Nell'esempio seguente viene utilizzato _access per controllare il file crt_ACCESS.C denominato per verificare se esista e se scrivendo è 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" );
}
}
Equivalente .NET Framework
Vedere anche
Riferimenti
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32