Condividi tramite


_access_s, _waccess_s

Determina le autorizzazioni di lettura/scrittura del file.Si tratta di una versione di _access, _waccess con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.

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

Parametri

  • path
    File o il percorso della directory.

  • mode
    Impostazione di autorizzazione.

Valore restituito

Ogni funzione restituisce 0 se il file è la modalità specificata.La funzione restituisce un codice di errore se il file denominato non esiste o non è accessibile in modalità specificata.In questo caso, la funzione restituisce un codice di errore impostate come indicato di seguito e anche insiemi errno allo stesso valore.

  • 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, vedere errno, _doserrno, _sys_errlist e _sys_nerr.

Note

una volta utilizzato con i file, _access_s la funzione determina se il file specificato esiste ed è possibile accedere come specificato dal valore mode.una volta utilizzato con le directory, _access_s determina solo se la directory specificata.in Windows 2000 i sistemi operativi successivi, tutte le directory grado di leggere e accesso in scrittura.

valore in modalità

I controlli file per

00

Esistenza solo.

02

Le autorizzazioni di scrittura.

04

autorizzazione di lettura.

06

Lettura e le autorizzazioni di scrittura.

L'autorizzazione a leggere o scrivere il file non è sufficiente per garantire la possibilità di aprire un file.Ad esempio, se un file è bloccato da un altro processo, potrebbe non essere disponibile anche se _access_s restituisce 0.

_waccess_s è una versione a caratteri estesi di _access_s, dove path argomento a _waccess_s è una stringa di caratteri estesi.In caso contrario, _waccess_s e _access_s comportano in modo identico.

Queste funzioni convalidano i relativi 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, queste funzioni impostate errno in EINVAL e restituiscono EINVAL.

Mapping di routine a testo generico

routine di Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_taccess_s

_access_s

_access_s

_waccess_s

Requisiti

routine

Intestazione di associazione

intestazione facoltativa

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> o <io.h>

<errno.h>

Esempio

In questo esempio viene utilizzato _access_s per controllare il file denominato crt_access_s.c per verificare se esiste e se scrivendo è consentita.

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

Equivalente .NET Framework

System.IO.FileAccess

Vedere anche

Riferimenti

Gestione dei file

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, funzioni di _wstat