_access, _waccess
Określa, czy plik jest tylko do odczytu, czy nie.Bezpieczniejsze wersje są dostępne; see _access_s, _waccess_s.
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Parametry
path
Ścieżka pliku lub katalogu.mode
Atrybut odczytu i zapisu.
Wartość zwracana
Każda funkcja zwraca wartość 0, jeżeli plik ma danego trybu.Funkcja zwraca -1 Jeśli nazwany plik nie istnieje lub nie ma danego trybu; w tym przypadku errno jest ustawiony jak pokazano w poniższej tabeli.
EACCES
Odmowa dostępu: ustawienie uprawnienia do pliku nie zezwala na dostęp określony.ENOENT
Nazwa pliku lub ścieżka nie znaleziono.EINVAL
Nieprawidłowy parametr.
Aby uzyskać więcej informacji na temat tych i innych kodów zwrotu, zobacz _doserrno, errno, _sys_errlist, and _sys_nerr.
Uwagi
Gdy używana z plików, _access funkcja określa, czy określony plik lub katalog istnieje i ma atrybuty określone przez wartość mode.Gdy używana z katalogów, _access określa tylko, czy istnieje określony katalog; w Windows 2000 i później systemy operacyjne, wszystkie katalogi mają uprawnienia odczytu i zapisu.
Wartość wyliczenia mode |
Plik kontroli dla |
---|---|
00 |
Istnienie tylko |
02 |
Tylko do zapisu |
04 |
Tylko do odczytu |
06 |
Odczyt i zapis |
Ta funkcja sprawdza tylko, czy plików i katalogów są tylko do odczytu lub nie, nie sprawdza ustawienia zabezpieczeń systemu plików.Do tego potrzebny tokenu dostępu.Aby uzyskać więcej informacji dotyczących zabezpieczeń systemu plików, zobacz Tokeny dostępu.Klasy ATL istnieje do tej funkcji; see Klasa CAccessToken.
_waccess to wersja znaku dwubajtowego _access; argument path do _waccess to ciąg znaku dwubajtowego._waccess i _access zachowują się identycznie w innych przypadkach.
Ta funkcja sprawdza poprawność swoich parametrów.Jeśli path jest NULL lub mode nie określa prawidłowego trybu obsługi nieprawidłowy parametr jest wywoływany, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może w dalszym ciągu, funkcja ustawia errno do EINVAL i zwraca wartość -1.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Wymagania
Procedura |
Wymagany nagłówek |
Opcjonalne nagłówki |
---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<WChar.h> lub <io.h> |
<errno.h> |
Przykład
W poniższym przykładzie użyto _access zawartość pliku o nazwie crt_ACCESS.C, aby zobaczyć, czy istnieje i czy zezwala się na piśmie.
// 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" );
}
}
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32