Bagikan melalui


_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