Sdílet prostřednictvím


_access, _waccess

Určuje, jestli je soubor jen pro čtení nebo ne. K dispozici jsou bezpečnější verze; viz _access_s, _waccess_s.

Syntaxe

int _access(
   const char *path,
   int mode
);
int _waccess(
   const wchar_t *path,
   int mode
);

Parametry

path
Cesta k souboru nebo adresáři

mode
Atribut pro čtení a zápis

Vrácená hodnota

Každá funkce vrátí hodnotu 0, pokud má soubor daný režim. Funkce vrátí hodnotu -1, pokud pojmenovaný soubor neexistuje nebo nemá daný režim; v tomto případě je nastavena tak, errno jak je znázorněno v následující tabulce.

Hodnota popis
EACCES Přístup byl odepřen: Nastavení oprávnění souboru neumožňuje zadaný přístup.
ENOENT Název souboru nebo cesta nebyly nalezeny.
EINVAL Neplatný parametr.

Další informace o těchto a dalších návratových kódech naleznete v tématu , , , a_sys_nerr . _sys_errlist_doserrnoerrno

Poznámky

Při použití se soubory funkce určuje, _access zda zadaný soubor nebo adresář existuje a má atributy určené hodnotou mode. Při použití s adresáři určuje pouze to, _access 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 Hodnotu Zkontroluje, jestli soubor není
00 Pouze existence
02 Jen pro zápis
04 Jen pro čtení
06 Čtení a zápis

Tato funkce kontroluje, jestli jsou soubor a adresář jen pro čtení, nebo ne, nekontroluje nastavení zabezpečení systému souborů. K tomu potřebujete přístupový token. Další informace o zabezpečení systému souborů najdete v tématu Přístupové tokeny. Třída ATL existuje k poskytování této funkce; viz CAccessToken třída.

_waccessje verze širokého znaku _accesspath ; argument je _waccess řetězec širokého znaku. _waccess a _access chovat se stejně jinak.

Tato funkce ověří 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 je spuštění povoleno pokračovat, funkce nastaví errnoEINVAL hodnotu -1 a vrátí hodnotu -1.

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

Tchar.h Rutinní _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_taccess _access _access _waccess

Požadavky

Rutina Požadovaný hlavičkový soubor Volitelná záhlaví
_access <io.h> <errno.h>
_waccess <wchar.h> nebo <io.h> <errno.h>

Příklad

Následující příklad používá _access ke kontrole souboru s názvem crt_ACCESS.C zjistit, zda existuje a zda je zápis povolený.

// crt_access.c
// compile with: /W1
// This example uses _access to check the file named
// crt_ACCESS.C to see if it exists and if writing is allowed.

#include  <io.h>
#include  <stdio.h>
#include  <stdlib.h>

int main( void )
{
    // Check for existence.
    if( (_access( "crt_ACCESS.C", 0 )) != -1 )
    {
        printf_s( "File crt_ACCESS.C exists.\n" );

        // Check for write permission.
        // Assume file is read-only.
        if( (_access( "crt_ACCESS.C", 2 )) == -1 )
            printf_s( "File crt_ACCESS.C does not have write permission.\n" );
    }
}
File crt_ACCESS.C exists.
File crt_ACCESS.C does not have write permission.

Viz také

Zpracování souborů
_chmod, _wchmod
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32
_open, _wopen
_stat, _wstat funkce