_access
, , _waccess
t_access
Menentukan apakah file bersifat baca-saja atau tidak. Versi yang lebih aman tersedia; lihat _access_s
, _waccess_s
.
Untuk _taccess
, lihat Pemetaan fungsi teks generik.
Sintaks
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Parameter
path
Jalur file atau direktori.
mode
Atribut baca/tulis.
Nilai hasil
Setiap fungsi mengembalikan 0 jika file memiliki mode yang diberikan. Fungsi mengembalikan -1 jika file bernama tidak ada atau tidak memiliki mode yang diberikan; dalam hal ini, errno
diatur seperti yang ditunjukkan dalam tabel berikut.
Nilai | Deskripsi |
---|---|
EACCES |
Akses ditolak: pengaturan izin file tidak mengizinkan akses yang ditentukan. |
ENOENT |
Nama file atau jalur tidak ditemukan. |
EINVAL |
Parameter tidak valid. |
Untuk informasi selengkapnya tentang kode pengembalian ini dan lainnya, lihat errno
, , _doserrno
_sys_errlist
, dan _sys_nerr
.
Keterangan
Ketika digunakan dengan file, _access
fungsi menentukan apakah file atau direktori yang ditentukan ada dan memiliki atribut yang ditentukan oleh nilai mode
. Ketika digunakan dengan direktori, _access
menentukan hanya apakah direktori yang ditentukan ada; di sistem operasi Windows 2000 dan yang lebih baru, semua direktori memiliki akses baca dan tulis.
mode nilai |
Memeriksa file untuk |
---|---|
00 | Hanya ada |
02 | Hanya tulis |
04 | Baca-saja |
06 | Baca dan tulis |
Fungsi ini hanya memeriksa apakah file dan direktori bersifat baca-saja atau tidak, fungsi ini tidak memeriksa pengaturan keamanan sistem file. Untuk itu Anda memerlukan token akses. Untuk informasi selengkapnya tentang keamanan sistem file, lihat Token akses. Kelas ATL ada untuk menyediakan fungsionalitas ini; lihat CAccessToken
Kelas.
_waccess
adalah versi karakter luas dari _access
; path
argumen ke _waccess
adalah string karakter lebar. _waccess
dan _access
berulah secara identik jika tidak.
Fungsi ini memvalidasi parameternya. Jika path
adalah NULL
atau mode
tidak menentukan mode yang valid, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi diatur errno
ke EINVAL
dan mengembalikan -1.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan fungsi teks generik
Tchar.h Rutin |
_UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Persyaratan
Rutin | Header yang diperlukan | Header opsional |
---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<wchar.h> atau <io.h> |
<errno.h> |
Contoh
Contoh berikut menggunakan _access
untuk memeriksa file bernama crt_ACCESS.C
untuk melihat apakah ada dan apakah penulisan diizinkan.
// 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.
Lihat juga
Penanganan file
_chmod
, _wchmod
_fstat
, , _fstat32
_fstat64
, _fstati64
, , _fstat32i64
,_fstat64i32
_open
, _wopen
_stat
, _wstat
fungsi