_access, _waccess, t_access

Dosyanın salt okunur olup olmadığını belirler. Daha güvenli sürümler mevcuttur; bkz. _access_s, _waccess_s.

için _taccessbkz . Genel metin işlevi eşlemeleri.

Sözdizimi

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

Parametreler

path
Dosya veya dizin yolu.

mode
Okuma/yazma özniteliği.

Dönüş değeri

Dosya belirli bir moda sahipse her işlev 0 döndürür. adlandırılmış dosya yoksa veya verilen moda sahip değilse işlevi -1 döndürür; bu durumda, errno aşağıdaki tabloda gösterildiği gibi ayarlanır.

Value Açıklama
EACCES Erişim reddedildi: Dosyanın izin ayarı belirtilen erişime izin vermiyor.
ENOENT Dosya adı veya yolu bulunamadı.
EINVAL Geçersiz parametre.

Bunlar ve diğer iade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Açıklamalar

dosyalarla kullanıldığında işlev, _access belirtilen dosya veya dizinin var olup olmadığını ve değeri modetarafından belirtilen özniteliklere sahip olup olmadığını belirler. Dizinlerle kullanıldığında, _access yalnızca belirtilen dizinin var olup olmadığını belirler; Windows 2000 ve sonraki işletim sistemlerinde tüm dizinlerin okuma ve yazma erişimi vardır.

mode değer Dosyayı şu şekilde denetler:
00 Yalnızca varlık
02 Salt yazma
04 Salt Okunur
06 Okuma ve yazma

Bu işlev yalnızca dosya ve dizinin salt okunur olup olmadığını denetler, dosya sistemi güvenlik ayarlarını denetlemez. Bunun için bir erişim belirteci gerekir. Dosya sistemi güvenliği hakkında daha fazla bilgi için bkz . Erişim belirteçleri. Bu işlevselliği sağlamak için bir ATL sınıfı vardır; bkz CAccessToken . Sınıf.

_waccess , öğesinin _accessgeniş karakterli bir sürümüdür; path bağımsız değişkeni _waccess geniş karakterli bir dizedir. _waccess ve _access aksi takdirde aynı şekilde davran.

Bu işlev parametrelerini doğrular. ise path NULL veya mode geçerli bir mod belirtmiyorsa, parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, işlevi olarak EINVAL ayarlanır errno ve -1 döndürür.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin işlevi eşlemeleri

Tchar.h olağan _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_taccess _access _access _waccess

Gereksinimler

Yordam Gerekli başlık İsteğe bağlı üst bilgiler
_access <io.h> <errno.h>
_waccess <wchar.h> veya <io.h> <errno.h>

Örnek

Aşağıdaki örnek, var olup olmadığını ve yazmaya izin verilip verilmediğini görmek için adlı crt_ACCESS.C dosyayı denetlemek için kullanır_access.

// 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.

Ayrıca bkz.

Dosya işleme
_chmod, _wchmod
_fstat, _fstat32, _fstat64, , _fstati64, _fstat32i64, _fstat64i32
_open, _wopen
_stat, _wstat işlevler