_access, _waccess
Bestimmt, ob eine Datei schreibgeschützt ist.Sicherere Versionen verfügbar sind. Weitere Informationen finden Sie unter _access_s, _waccess_s.
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Parameter
path
Datei oder Verzeichnispfad.mode
Attribut für Lese-/Schreibzugriff auf.
Rückgabewert
Jede Funktion gibt 0 zurück, wenn die Datei im angegebenen Modus hat.Die Funktion gibt 1, wenn die genannte Datei nicht vorhanden oder verfügt nicht wieder den angegebenen Modus. In diesem Fall wird errno wie in der folgenden Tabelle dargestellt festgelegt.
EACCES
Zugriff verweigert. Berechtigungen der Einstellung der Datei nicht zugelassene angegebenen Zugriff.ENOENT
Dateiname oder Pfad nicht gefunden.EINVAL
Ungültiger Parameter.
Weitere Informationen über diese und andere Rückgabecodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.
Hinweise
Wenn sie mit Dateien verwendet wird, bestimmt die _access-Funktion, ob die angegebene Datei bzw. das angegebene Verzeichnis vorhanden ist und die Attribute verfügt, die durch den Wert von modeangegeben werden.Wenn es mit Verzeichnissen verwendet wird, bestimmt _access nur, ob das angegebene Verzeichnis vorhanden ist. Windows 2000 in neueren Betriebssystemen sowie alle Verzeichnisse Lese- und Schreibzugriff.
mode-Wert |
Überprüft Datei für |
---|---|
00 |
Nur Vorhandensein |
02 |
Lesegeschützt |
04 |
Schreibgeschützt |
06 |
Lesen und Schreiben |
Diese Funktion überprüft nur, ob die Datei oder das Verzeichnis und nicht schreibgeschützt sind, überprüft nicht die Sicherheitseinstellungen für die Dateisystem.Für das benötigen Sie ein Zugriffstoken.Weitere Informationen zur Sicherheit finden Sie unter ZugriffstokenDateisystem.Eine ATL-Klasse vorhanden, um diese Funktionalität bereitzustellen. Weitere Informationen finden Sie unter CAccessToken-Klasse.
_waccess ist eine Breitzeichen-Version von _access. path das Argument zu _waccess ist eine Zeichenfolge mit Breitzeichen._waccess und _access verhalten sich ansonsten unterscheiden.
Diese Funktion überprüft seine 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 zulässig ist, um fortzufahren, legt die Funktion errno zu EINVAL fest und gibt -1 zurück.
Zuweisung generischer Textroutinen
Tchar.h-Routine |
_UNICODE als auch _MBCS nicht definiert |
_MBCS definieren |
_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 , um die Datei zu überprüfen, die crt_ACCESS.C Namen, um festzustellen, ob sie vorhanden ist und ob Schreibzugriff zulässig ist.
// 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" );
}
}
.NET Framework-Entsprechung
Siehe auch
Referenz
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32