Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Určuje oprávnění ke čtení a zápisu souboru. Tyto funkce jsou verze _access, _waccess s vylepšeními zabezpečení, jak je popsáno v funkcích zabezpečení v CRT.
Viz _taccess_smapování obecných textových funkcí.
Syntaxe
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ý režim. Funkce vrátí kód chyby, pokud pojmenovaný soubor neexistuje nebo není přístupný v daném režimu. V tomto případě funkce vrátí kód chyby ze sady následujícím způsobem a také nastaví errno stejnou hodnotu.
errno hodnota |
Podmínka |
|---|---|
EACCES |
Přístup se odepřel. Nastavení oprávnění souboru neumožňuje zadaný přístup. |
ENOENT |
Název souboru nebo cesta nebyly nalezeny. |
EINVAL |
Neplatný parametr. |
Další informace naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.
Poznámky
Při použití se soubory funkce určuje, _access_s zda zadaný soubor existuje a lze k němu získat přístup podle hodnoty mode. Při použití s adresáři určuje pouze to, _access_s zda zadaný adresář existuje. V operačních systémech Windows 2000 a novějších mají všechny adresáře přístup pro čtení a zápis.
mode hodnota |
Zkontroluje, jestli soubor není |
|---|---|
| 00 | Pouze existence. |
| 02 | Oprávnění k zápisu |
| 04 | Oprávnění ke čtení |
| 06 | Oprávnění ke čtení a zápisu |
Oprávnění ke čtení nebo zápisu souboru nestačí, aby se zajistilo, že je možné soubor otevřít. Pokud je například soubor uzamčen jiným procesem, nemusí být přístupný, i když _access_s vrátí hodnotu 0.
_waccess_s je širokoznačová verze _access_s, kde path argumentem _waccess_s pro řetězec širokého znaku. _waccess_s V opačném případě se _access_s chovejte stejně.
Tyto funkce ověřují své parametry. Pokud path je NULL nebo mode neurčí platný režim, vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce jsou nastaveny errno na EINVAL a vracet EINVAL.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování obecných textových funkcí
Funkce ve sloupci tchar.h se mapuje na funkci v ostatních sloupcích v závislosti na znakové sadě, která je definována v době kompilace.
Funkce tchar.h |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
|---|---|---|---|
_taccess_s |
_access_s |
_access_s |
_waccess_s |
Požadavky
| Rutina | Požadovaný hlavičkový soubor | Volitelné záhlaví |
|---|---|---|
_access_s |
<io.h> |
<errno.h> |
_waccess_s |
<wchar.h> nebo <io.h> |
<errno.h> |
Příklad
Tento příklad používá _access_s ke kontrole souboru s názvem crt_access_s.c, abyste zjistili, jestli existuje a zda je zápis povolený.
// 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" );
}
}
File crt_access_s.c exists.
File crt_access_s.c does not have write permission.
Viz také
Zpracování souborů
_access, _waccess
_chmod, _wchmod
_fstat, _fstat32, _fstat64, _fstati64, , _fstat32i64_fstat64i32
_open, _wopen
_stat, _wstat funkce