_access_s, _waccess_s
Určuje oprávnění ke čtení a zápisu souborů.Jedná se o verzi _access, _waccess s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.
errno_t _access_s(
const char *path,
int mode
);
errno_t _waccess_s(
const wchar_t *path,
int mode
);
Parametry
path
Cesta k souboru nebo adresáři.mode
Nastavení oprávnění.
Vrácená hodnota
Každá funkce vrátí hodnotu 0, pokud má soubor daného režimu.Pokud pojmenovaný soubor neexistuje nebo není k dispozici v daném režimu, vrátí funkce chybu.V tomto případě funkce vrací kód chyby ze sady takto a také nastaví errno na stejnou hodnotu.
EACCES
Přístup byl odepřen.Nastavení oprávnění souboru zadaný přístup neumožňuje.ENOENT
Název souboru nebo cesta nebyla nalezena.EINVAL
Neplatný parametr.
Další informace naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.
Poznámky
Při použití se soubory, _access_s funkce určuje, zda zadaný soubor existuje a je přístupný jako určený hodnotou mode.Při použití adresáře, _access_s pouze určuje, zda existuje zadaný adresář.V Windows 2000 a novější operační systémy, všechny adresáře mají přístup Číst a zapisovat.
Hodnota režimu |
Soubor kontroly |
---|---|
00 |
Pouze existenci. |
02 |
Oprávnění k zápisu. |
04 |
Oprávnění ke čtení. |
06 |
Oprávnění číst a zapisovat. |
Oprávnění ke čtení nebo zápisu souboru není dostatečně zajistit možnost otevření souboru.Například, pokud soubor je uzamčen jiným procesem, nemusí být přístupný i v případě _access_s , vrátí hodnotu 0.
_waccess_sje verze širokého znaku _access_s, kde path argument _waccess_s je řetězec širokého znaku.Jinak _waccess_s a _access_s se chovají stejně.
Tyto funkce ověřují své parametry.Pokud path je NULL nebo mode neurčuje platný režim vyvolání neplatný parametr obslužné rutiny, jak je popsáno v Ověření parametru.Pokud smí provádění pokračovat, tyto funkce nastaví errno na EINVAL a vrátí EINVAL.
Rutinní mapování obecného textu
Rutina Tchar.h |
_UNICODE a _MBCS nejsou definovány |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_taccess_s |
_access_s |
_access_s |
_waccess_s |
Požadavky
Rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_access_s |
<io.h> |
<errno.h> |
_waccess_s |
<wchar.h> nebo <io.h> |
<errno.h> |
Příklad
V tomto příkladu _access_s ke kontrole souboru s názvem crt_access_s.c, chcete-li zjistit, zda existuje a zda je povolen zápis.
// 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" );
}
}
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32