Sdílet prostřednictvím


_access_s, , _waccess_staccess_s

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í rutin obecného textu.

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í rutin obecného textu

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