Udostępnij za pośrednictwem


_access_s, _waccess_s

Określa uprawnienia do odczytu i zapisu plików.Jest to wersja z _access, _waccess z rozszerzeń zabezpieczeń opisane w Funkcje zabezpieczeń w CRT.

errno_t _access_s( 
   const char *path, 
   int mode 
);
errno_t _waccess_s( 
   const wchar_t *path, 
   int mode 
);

Parametry

  • path
    Ścieżka pliku lub katalogu.

  • mode
    Ustawienie uprawnienia.

Wartość zwracana

Każda funkcja zwraca 0, jeżeli plik ma danym trybie.Funkcja zwraca kod błędu, jeśli nazwany plik nie istnieje lub nie jest dostępny w danym trybie.W tym przypadku funkcja zwraca kod błędu z zestawu w następujący sposób i ustawia również errno na tę samą wartość.

  • EACCES
    Odmowa dostępu.Ustawienie uprawnienia do pliku nie zezwala na dostęp określony.

  • ENOENT
    Nazwa pliku lub nie odnaleziono ścieżki.

  • EINVAL
    Nieprawidłowy parametr.

Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.

Uwagi

Gdy używana z plików, _access_s funkcja określa, czy określony plik istnieje i można uzyskać dostęp jako określony przez wartość mode.Gdy używana z katalogów, _access_s określa tylko, czy istnieje określony katalog.W Windows 2000 i nowszych w systemach operacyjnych, wszystkie katalogi mają uprawnienia odczytu i zapisu.

wartość trybu

Plik kontroli

00

Istnienie tylko.

02

Uprawnienie do zapisu.

04

Uprawnienie Odczyt.

06

Uprawnienia Odczyt i zapis.

Uprawnienia do odczytu lub zapisu w pliku nie jest wystarczająco, aby zapewnić możliwość otwarcia pliku.Na przykład, jeśli plik jest zablokowany przez inny proces, to mogą być niedostępne mimo że _access_s zwraca wartość 0.

_waccess_sjest to wersja szerokich znaków _access_s, gdzie path argument _waccess_s jest łańcuch szerokich znaków.W przeciwnym razie _waccess_s i _access_s zachowują się identycznie.

Te funkcje sprawdzania poprawności ich parametrów.Jeśli path jest NULL lub mode nie określa prawidłowego trybu, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ustaw te funkcje errno do EINVAL i zwraca EINVAL.

Tekst rodzajowy rutynowych mapowania

Procedura TCHAR.h

_UNICODE i _MBCS nie zdefiniowane

_MBCS, definicja

_UNICODE, definicja

_taccess_s

_access_s

_access_s

_waccess_s

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

Opcjonalne nagłówka

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> lub <io.h>

<errno.h>

Przykład

W tym przykładzie użyto _access_s zawartość pliku o nazwie crt_access_s.c, aby sprawdzić, czy istnieje i czy jest dozwolone zapisywanie.

// 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" );
    }
}
  
  

Odpowiednik w programie .NET Framework

System.IO.FileAccess

Zobacz też

Informacje

Obsługa plików

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat funkcje