_access_s, _waccess_s
Określa uprawnienia odczytu i zapisu pliku.Jest to wersja z _access, _waccess z ulepszeń zabezpieczeń, zgodnie z opisem 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 wartość 0, jeżeli plik ma danego trybu.Funkcja zwraca kod błędu, jeśli plik o nazwie nie istnieje lub nie jest dostępna w danym trybie.W tym przypadku funkcja zwraca następujący kod błędu z zestawu 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 ścieżka nie znaleziono.EINVAL
Nieprawidłowy parametr.
Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist, and _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 później systemy operacyjne, wszystkie katalogi mają uprawnienia odczytu i zapisu.
wartość trybu |
Plik kontroli dla |
---|---|
00 |
Istnienie tylko. |
02 |
Uprawnienie do zapisu. |
04 |
Uprawnienie Odczyt. |
06 |
Uprawnienia Odczyt i zapis. |
Uprawnienia do odczytu lub zapisu pliku nie jest wystarczający zapewnić możliwość otwarcia pliku.Na przykład, jeśli plik jest zablokowany przez inny proces, to mogą być niedostępne nawet jeśli _access_s zwraca wartość 0.
_waccess_sjest to wersja szeroko charakter _access_s, gdzie path argument _waccess_s jest ciągiem znaków wide.W innych przypadkach _waccess_s i _access_s zachowują się identycznie.
Te funkcje sprawdzają 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 być kontynuowane, te funkcje ustawiają errno jako EINVAL i zwracają EINVAL.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_taccess_s |
_access_s |
_access_s |
_waccess_s |
Wymagania
Procedura |
Wymagany nagłówek |
Opcjonalny nagłówek |
---|---|---|
_access_s |
<io.h> |
<errno.h> |
_waccess_s |
<WChar.h> lub <io.h> |
<errno.h> |
Przykład
W poniższym przykładzie użyto _access_s zawartość pliku o nazwie crt_access_s.c, aby zobaczyć, czy istnieje i czy zezwala się na piśmie.
// 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
Zobacz też
Informacje
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32