_umask
Varsayılan dosya izni maskesini ayarlar. Bu işlevin daha güvenli bir sürümü için bkz _umask_s
. .
Sözdizimi
int _umask( int pmode );
Parametreler
pmode
Varsayılan izin ayarı.
Dönüş değeri
_umask
değerinin önceki değerini pmode
döndürür. Hata döndürme yok.
Açıklamalar
işlevi geçerli _umask
işlemin dosya izni maskesini tarafından pmode
belirtilen moda ayarlar. Dosya izni maskesi, , _open
veya _sopen
tarafından _creat
oluşturulan yeni dosyaların izin ayarını değiştirir. Maskedeki bir bit 1 ise, dosyanın istenen izin değerindeki ilgili bit 0 olarak ayarlanır (izin verilmez). Maskedeki bir bit 0 ise, karşılık gelen bit değişmeden bırakılır. Yeni bir dosyanın izin ayarı, dosya ilk kez kapatılana kadar ayarlanmaz.
Tamsayı ifadesi pmode
, içinde SYS\STAT.H
tanımlanan aşağıdaki bildirim sabitlerinden birini veya her ikisini içerir:
pmode |
Açıklama |
---|---|
_S_IWRITE |
Yazma izni verilir. |
_S_IREAD |
Okuma izni verilir. |
_S_IREAD | _S_IWRITE |
Okuma ve yazma izin verilir. |
Her iki sabit de verildiğinde bit düzeyinde OR işleciyle ( |
) birleştirilir. pmode
Bağımsız değişken ise_S_IREAD
, okumaya izin verilmez (dosya salt okunurdur). pmode
Bağımsız değişken ise_S_IWRITE
, yazmaya izin verilmez (dosya salt okunurdur). Örneğin, yazma biti maskede ayarlanırsa, tüm yeni dosyalar salt okunur olur. MS-DOS ve Windows işletim sistemlerinde tüm dosyalar okunabilir; yalnızca yazma izni vermek mümkün değildir. Bu nedenle, okuma bitini ile _umask
ayarlamak dosyanın modlarını hiçbir şekilde etkilemez.
Bildirim sabitlerinden birinin birleşimi değilse veya alternatif bir sabit kümesine sahipse pmode
işlev bunları yoksayar.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bunu değiştirmek için bkz . CRT'de Genel durum.
Gereksinimler
İşlev | Gerekli başlık |
---|---|
_umask |
<io.h> , <sys/stat.h> , <sys/types.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Kitaplıklar
C çalışma zamanı kitaplıklarının tüm sürümleri.
Örnek
// 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
Ayrıca bkz.
Dosya işleme
Alt düzey G/Ç
_chmod
, _wchmod
_creat
, _wcreat
_mkdir
, _wmkdir
_open
, _wopen