Bagikan melalui


_access, , _waccesst_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