_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
Zobacz też
Informacje
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32