_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 0, jeżeli plik ma danym trybie.Funkcja zwraca –1, jeżeli nazwany plik nie istnieje lub nie ma danego trybu; w tym przypadku errno jest ustawiona, jak pokazano w poniższej tabeli.
EACCES
Odmowa dostępu: ustawienie uprawnień pliku zezwala na dostęp określony.ENOENT
Nazwa pliku lub nie odnaleziono ścieżki.EINVAL
Nieprawidłowy parametr.
Aby uzyskać więcej informacji na temat tych i innych kodów powrotu, zobacz _doserrno, errno, _sys_errlist i _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 nowszych w systemach operacyjnych, wszystkie katalogi mają uprawnienia odczytu i zapisu.
modewartość |
Plik kontroli |
---|---|
00 |
Istnienie tylko |
02 |
Tylko do zapisu |
04 |
Tylko do odczytu |
06 |
Odczyt i zapis |
Funkcja ta sprawdza tylko, czy plików i katalogów są tylko do odczytu lub nie, nie sprawdza ustawienia zabezpieczeń systemu plików.W tym musisz tokenu dostępu.Aby uzyskać więcej informacji dotyczących zabezpieczeń systemu plików, zobacz Tokeny dostępu.Klasy ATL istnieje tę funkcjonalność; see Klasa CAccessToken.
_waccessjest to wersja szerokich znaków _access; path argument _waccess jest łańcuch szerokich znaków._waccessi _access zachowują się identycznie inaczej.
Funkcja ta sprawdza poprawność jego parametry.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 w dalszym ciągu, funkcja ustawia errno do EINVAL i zwraca wartość -1.
Tekst rodzajowy rutynowych mapowania
Procedura TCHAR.h |
_UNICODE i _MBCS nie zdefiniowane |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Opcjonalna 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 jest dozwolone zapisywanie.
// 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