_umask
Mengatur masker izin file default. Untuk versi fungsi ini yang lebih aman, lihat _umask_s
.
Sintaks
int _umask( int pmode );
Parameter
pmode
Pengaturan izin default.
Nilai hasil
_umask
mengembalikan nilai sebelumnya dari pmode
. Tidak ada pengembalian kesalahan.
Keterangan
Fungsi ini _umask
mengatur masker izin file dari proses saat ini ke mode yang ditentukan oleh pmode
. Masker izin file memodifikasi pengaturan izin file baru yang dibuat oleh _creat
, _open
, atau _sopen
. Jika sedikit dalam masker adalah 1, bit yang sesuai dalam nilai izin yang diminta file diatur ke 0 (tidak diizinkan). Jika sedikit di masker adalah 0, bit yang sesuai dibiarkan tidak berubah. Pengaturan izin untuk file baru tidak diatur hingga file ditutup untuk pertama kalinya.
Ekspresi pmode
bilangan bulat berisi satu atau kedua konstanta manifes berikut, yang ditentukan dalam SYS\STAT.H
:
pmode |
Deskripsi |
---|---|
_S_IWRITE |
Penulisan diizinkan. |
_S_IREAD |
Membaca diizinkan. |
_S_IREAD | _S_IWRITE |
Membaca dan menulis diizinkan. |
Ketika kedua konstanta diberikan, konstanta tersebut digabungkan dengan operator bitwise-OR ( |
). pmode
Jika argumen adalah _S_IREAD
, membaca tidak diperbolehkan (file hanya tulis). pmode
Jika argumen adalah _S_IWRITE
, penulisan tidak diizinkan (file bersifat baca-saja). Misalnya, jika bit tulis diatur dalam mask, file baru apa pun akan bersifat baca-saja. Dalam MS-DOS dan sistem operasi Windows, semua file dapat dibaca; tidak dimungkinkan untuk memberikan izin tulis-saja. Oleh karena itu, mengatur bit baca dengan _umask
tidak berpengaruh pada mode file.
Jika pmode
bukan kombinasi dari salah satu konstanta manifes atau menggabungkan sekumpulan konstanta alternatif, fungsi akan mengabaikannya.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubahnya, lihat Status global di CRT.
Persyaratan
Fungsi | Header yang diperlukan |
---|---|
_umask |
<io.h> , , <sys/stat.h> <sys/types.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Pustaka
Semua versi pustaka run-time C.
Contoh
// crt_umask.c
// compile with: /W3
// This program uses _umask to set
// the file-permission mask so that all future
// files will be created as read-only files.
// It also displays the old mask.
#include <sys/stat.h>
#include <sys/types.h>
#include <io.h>
#include <stdio.h>
int main( void )
{
int oldmask;
/* Create read-only files: */
oldmask = _umask( _S_IWRITE ); // C4996
// Note: _umask is deprecated; consider using _umask_s instead
printf( "Oldmask = 0x%.4x\n", oldmask );
}
Oldmask = 0x0000
Lihat juga
Penanganan file
I/O tingkat rendah
_chmod
, _wchmod
_creat
, _wcreat
_mkdir
, _wmkdir
_open
, _wopen