_access_s
, _waccess_s
_taccess_s
Bestimmt die Lese-/Schreibberechtigungen einer Datei. Diese Funktionen sind Versionen von _access
, _waccess
mit Sicherheitsverbesserungen wie unter Sicherheitsfunktionen in der CRT beschrieben.
Weitere _taccess_s
Informationen finden Sie unter Generische Funktionszuordnungen.
Syntax
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
Berechtigungseinstellung.
Rückgabewert
Jede Funktion gibt 0 zurück, wenn sich die Datei im angegebenen Modus befindet. Die Funktion gibt einen Fehlercode zurück, wenn die benannte Datei nicht vorhanden ist oder im angegebenen Modus nicht zugänglich ist. In diesem Fall gibt die Funktion einen Fehlercode zurück und legt errno
auf diesen Code fest.
Wert vom Typ errno |
Bedingung |
---|---|
EACCES |
Zugriff verweigert. Die Berechtigungseinstellung der Datei lässt den angegebenen Zugriff nicht zu. |
ENOENT |
Der Dateiname oder der Pfad wurde nicht gefunden. |
EINVAL |
Ungültiger -Parameter. |
Weitere Informationen finden Sie untererrno
, _doserrno
, _sys_errlist
und _sys_nerr
.
Hinweise
Wenn die _access_s
-Funktion für eine Datei verwendet wird, bestimmt diese, ob die Datei existiert und im angegebenen mode
darauf zugegriffen werden darf. Wenn die Funktion dagegen mit einem Verzeichnispfad verwendet wird, bestimmt _access_s
lediglich, ob dieses Verzeichnis existiert. In Windows 2000 und höher verfügen alle Verzeichnisse über Lese- und Schreibzugriff.
Wert vom Typ mode |
überprüft nur, ob die Datei |
---|---|
00 | existiert. |
02 | Schreibberechtigung. |
04 | Leseberechtigung. |
06 | Lese- und Schreibberechtigung. |
Die Berechtigung zum Lesen oder Schreiben der Datei reicht nicht aus, um sicherzustellen, dass eine Datei geöffnet werden kann. Wenn beispielsweise ein anderer Prozess auf die Datei zugreift, kann möglicherweise auch dann nicht darauf zugegriffen werden, wenn _access_s
0 zurückgibt.
_waccess_s
ist eine Breitzeichenversion von _access_s
, wo das path
-Argument für _waccess_s
eine Breitzeichenfolge ist. Andernfalls verhalten sich _waccess_s
und _access_s
identisch.
Diese Funktionen überprüfen ihre Parameter. Wenn path
ein gültiger Modus nicht angegeben wird NULL
mode
, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, stellen diese Funktionen errno
auf EINVAL
ein und geben EINVAL
zurück.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Zuordnungen generischer Textfunktionen
Die Funktion in der tchar.h
Spalte ist der Funktion in den anderen Spalten abhängig von dem Zeichensatz zugeordnet, der zur Kompilierungszeit definiert ist.
tchar.h -Funktion |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_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
verwendet, um die Datei crt_access_s.c auf Existenz und Schreibberechtigung zu prüfen.
// 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" );
}
}
File crt_access_s.c exists.
File crt_access_s.c does not have write permission.
Siehe auch
Dateibehandlung
_access
, _waccess
_chmod
, _wchmod
_fstat
, , _fstat32
_fstat64
, _fstati64
, , _fstat32i64
_fstat64i32
_open
, _wopen
_stat
, _wstat
Funktionen