Udostępnij za pośrednictwem


_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

FileAccess

Zobacz też

Informacje

Obsługa plików

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat — Funkcje