Freigeben über


_access_s, _waccess_s

Bestimmt lese-/schreibzugriff-Berechtigungen Datei.Dies ist eine Version von _access, _waccess mit unter Security Enhancements, wie in Sicherheitsfeatures im CRTbeschrieben.

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

Parameter

  • path
    Datei oder Verzeichnispfad.

  • mode
    Einstellung für Berechtigungen.

Rückgabewert

Jede Funktion gibt 0 zurück, wenn die Datei im angegebenen Modus hat.Die Funktion gibt einen Fehlercode, wenn der benannte Datei nicht vorhanden ist oder keine zurück, die im angegebenen Modus verfügbar.In diesem Fall gibt die Funktion einen Fehlercode aus dem Satz zurück und legt auch wie folgt errno auf denselben Wert fest.

  • EACCES
    Zugriff verweigert.Die Einstellung für die Berechtigungen der Datei nicht zugelassene angegebenen Zugriff.

  • ENOENT
    Dateiname oder Pfad nicht gefunden.

  • EINVAL
    Ungültiger Parameter.

Weitere Informationen finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Hinweise

Wenn sie mit Dateien verwendet wird, bestimmt die _access_s-Funktion, ob die angegebene Datei vorhanden ist und darauf zugegriffen werden kann, wie vom Wert modeangegeben.Wenn es mit Verzeichnissen verwendet wird, bestimmt _access_s nur, ob das angegebene Verzeichnis vorhanden ist.In Windows 2000 und neueren Betriebssystemen haben alle Verzeichnisse Lese- und Schreibzugriff.

Wert des Modus

Überprüft Datei für

00

Nur Vorhandensein.

02

Schreibberechtigung.

04

eine Leseberechtigung.

06

Lese- und Schreibberechtigungen.

Berechtigung, die Datei zu lesen oder zu schreiben ist nicht groß genug, um die Möglichkeit sicherzustellen, eine Datei zu öffnen.Wenn z. B. eine Datei von einem anderen Prozess gesperrt ist, kann es nicht möglich, obwohl _access_s 0 zurückgibt.

_waccess_s ist eine Breitzeichen-Version von _access_s, in dem das path-Argument an _waccess_s eine Zeichenfolge mit Breitzeichen handelt.Andernfalls verhalten sich _waccess_s und _access_s identisch.

Diese Funktionen überprüfen deren Parameter.Wenn pathNULL ist, oder mode keinen gültigen Modus angibt, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung fortgesetzt werden kann, darf dieses Features zu errno festlegen EINVAL und geben EINVAL.

Zuweisung generischer Textroutinen

Tchar.h-Routine

_UNICODE als auch _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_taccess_s

_access_s

_access_s

_waccess_s

Anforderungen

Routine

Erforderlicher Header

Optionaler Header

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> oder <io.h>

<errno.h>

Beispiel

In diesem Beispiel wird _access_s , um die Datei zu überprüfen, die crt_access_s.c Namen, um festzustellen, ob sie vorhanden ist und ob Schreibzugriff zulässig ist.

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

.NET Framework-Entsprechung

System.IO.FileAccess

Siehe auch

Referenz

Datei-Behandlung

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat Funktionen