_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 _taccess
bkz . 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_errlist
ve _sys_nerr
.
Açıklamalar
dosyalarla kullanıldığında işlev, _access
belirtilen dosya veya dizinin var olup olmadığını ve değeri mode
tarafı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 _access
geniş 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