Sdílet prostřednictvím


_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

FileAccess

Viz také

Referenční dokumentace

Zpracování souborů

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat – funkce