_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
Siehe auch
Referenz
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32