Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa, czy plik jest tylko do odczytu, czy nie. Dostępne są bardziej bezpieczne wersje; zobacz _access_s
, _waccess_s
.
Aby uzyskać informacje _taccess
, zobacz Ogólne mapowania funkcji tekstowych.
Składnia
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/zapisu.
Wartość zwracana
Każda funkcja zwraca wartość 0, jeśli plik ma określony tryb. Funkcja zwraca wartość -1, jeśli nazwany plik nie istnieje lub nie ma danego trybu; w tym przypadku errno
parametr jest ustawiony tak, jak pokazano w poniższej tabeli.
Wartość | Opis |
---|---|
EACCES |
Odmowa dostępu: ustawienie uprawnień pliku nie zezwala na określony dostęp. |
ENOENT |
Nie można odnaleźć nazwy pliku lub ścieżki. |
EINVAL |
Nieprawidłowy parametr. |
Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
W przypadku użycia z plikami funkcja określa, _access
czy określony plik lub katalog istnieje i ma atrybuty określone przez wartość mode
. W przypadku użycia z katalogami określa tylko, _access
czy określony katalog istnieje; w systemach operacyjnych Windows 2000 i nowszych wszystkie katalogi mają dostęp do odczytu i zapisu.
mode wartość |
Plik sprawdzania dla |
---|---|
00 | Tylko istnienie |
02 | Tylko zapis |
04 | Tylko do odczytu |
6 | Odczyt i zapis |
Ta funkcja sprawdza tylko, czy plik i katalog są tylko do odczytu, czy nie, nie sprawdza ustawień zabezpieczeń systemu plików. W tym celu potrzebny jest token dostępu. Aby uzyskać więcej informacji na temat zabezpieczeń systemu plików, zobacz Access tokens (Tokeny dostępu). Klasa ATL istnieje, aby zapewnić tę funkcję; zobacz CAccessToken
Klasa.
_waccess
jest wersją szerokoznakową ; _access
argument to path
_waccess
ciąg o szerokim znaku. _waccess
i _access
zachowywać się identycznie inaczej.
Ta funkcja weryfikuje jego parametry. Jeśli path
jest NULL
lub mode
nie określa prawidłowego trybu, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja ustawia errno
wartość EINVAL
i zwraca wartość -1.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania funkcji tekstu ogólnego
Tchar.h rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_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
metody sprawdzania pliku o nazwie crt_ACCESS.C
w celu sprawdzenia, czy istnieje i czy zapis jest dozwolony.
// 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.
Zobacz też
Obsługa plików
_chmod
, _wchmod
_fstat
, , _fstat32
, _fstat64
, _fstati64
, , _fstat32i64
_fstat64i32
_open
, _wopen
_stat
, _wstat
funkcje