_umask
Ustawia domyślną maskę uprawnień do pliku. Aby uzyskać bezpieczniejszą wersję tej funkcji, zobacz _umask_s
.
Składnia
int _umask( int pmode );
Parametry
pmode
Domyślne ustawienie uprawnień.
Wartość zwracana
_umask
Zwraca poprzednią wartość .pmode
Nie ma zwracanego błędu.
Uwagi
Funkcja _umask
ustawia maskę uprawnień pliku bieżącego procesu na tryb określony przez pmode
. Maska uprawnień do pliku modyfikuje ustawienie uprawnień nowych plików utworzonych przez _creat
, _open
lub _sopen
. Jeśli bit w masce wynosi 1, odpowiedni bit w żądanej wartości uprawnień pliku ma wartość 0 (niedozwolone). Jeśli bit w masce wynosi 0, odpowiedni bit pozostanie niezmieniony. Ustawienie uprawnień dla nowego pliku nie zostanie ustawione, dopóki plik nie zostanie zamknięty po raz pierwszy.
Wyrażenie pmode
całkowite zawiera jedną lub obie następujące stałe manifestu zdefiniowane w pliku SYS\STAT.H
:
pmode |
opis |
---|---|
_S_IWRITE |
Dozwolone pisanie. |
_S_IREAD |
Dozwolone jest odczytywanie. |
_S_IREAD | _S_IWRITE |
Dozwolone jest odczytywanie i zapisywanie. |
Gdy obie stałe są podane, są one połączone z operatorem bitowym OR ( |
). pmode
Jeśli argument to _S_IREAD
, odczyt nie jest dozwolony (plik jest tylko do zapisu). pmode
Jeśli argument to _S_IWRITE
, zapisywanie nie jest dozwolone (plik jest tylko do odczytu). Jeśli na przykład bit zapisu jest ustawiony w masce, wszystkie nowe pliki będą tylko do odczytu. W systemach operacyjnych MS-DOS i Windows wszystkie pliki są czytelne; Nie można nadać uprawnień tylko do zapisu. W związku z _umask
tym ustawienie bitu odczytu bez wpływu na tryby pliku.
Jeśli pmode
nie jest kombinacją jednej z stałych manifestu lub zawiera alternatywny zestaw stałych, funkcja je ignoruje.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby go zmienić, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek |
---|---|
_umask |
<io.h> , , <sys/stat.h> <sys/types.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Biblioteki
Wszystkie wersje bibliotek czasu wykonywania języka C.
Przykład
// 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
Zobacz też
Obsługa plików
We/Wy niskiego poziomu
_chmod
, _wchmod
_creat
, _wcreat
_mkdir
, _wmkdir
_open
, _wopen