_access
, _waccess
t_access
Legt fest, ob eine Datei schreibgeschützt ist. Sicherere Versionen sind verfügbar; siehe _access_s
, _waccess_s
.
Weitere _taccess
Informationen finden Sie unter Generische Funktionszuordnungen.
Syntax
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Parameter
path
Datei oder Verzeichnispfad.
mode
Lese-/Schreibattribut.
Rückgabewert
Jede Funktion gibt 0 zurück, wenn sich die Datei im angegebenen Modus befindet. Die Funktion gibt -1 zurück, wenn die benannte Datei nicht vorhanden ist oder nicht über den angegebenen Modus verfügt. in diesem Fall errno
wird wie in der folgenden Tabelle dargestellt festgelegt.
Wert | Beschreibung |
---|---|
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 zu diesen und anderen Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweise
Wenn die _access
-Funktion für eine Datei verwendet wird, bestimmt diese, ob die Datei oder das Verzeichnis existiert und ob es über die vom mode
-Wert vorgegebenen Attribute verfügt. Bei Verwendung mit Verzeichnissen wird nur bestimmt, _access
ob das angegebene Verzeichnis vorhanden ist. 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 | Lesegeschützt |
04 | Schreibgeschützt |
06 | Lese- und Schreibvorgänge |
Diese Funktion überprüft nur, ob die Datei und das Verzeichnis schreibgeschützt sind oder nicht, die Sicherheitseinstellungen des Dateisystems werden nicht überprüft. Dafür benötigen Sie ein Zugriffstoken. Weitere Informationen zur Dateisystemsicherheit finden Sie unter Zugriffstoken. Eine ATL-Klasse ist vorhanden, um diese Funktionalität bereitzustellen. siehe CAccessToken
Klasse.
_waccess
ist eine Breitzeichenversion von _access
. Das path
-Argument für _waccess
ist eine Breitzeichenfolge. _waccess
und _access
verhalten sich andernfalls identisch.
Diese Funktion überprüft 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, legt die Funktion errno
auf EINVAL
fest und gibt -1 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
Tchar.h -Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Anforderungen
Routine | Erforderlicher Header | Optionale Header |
---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<wchar.h> oder <io.h> |
<errno.h> |
Beispiel
Im folgenden Beispiel wird _access
die Datei mit dem Namen crt_ACCESS.C
überprüft, um festzustellen, ob sie vorhanden ist und ob Schreibvorgänge zulässig sind.
// 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" );
}
}
File crt_ACCESS.C exists.
File crt_ACCESS.C does not have write permission.
Siehe auch
Dateibehandlung
_chmod
, _wchmod
_fstat
, , _fstat32
_fstat64
, _fstati64
, , _fstat32i64
_fstat64i32
_open
, _wopen
_stat
, _wstat
Funktionen