_umask
Ustawia domyślną maskę uprawnień do pliku. Aby uzyskać bezpieczniejszą wersję tej funkcji, zobacz _umask_s
.
int _umask( int pmode );
pmode
Domyślne ustawienie uprawnień.
_umask
Zwraca poprzednią wartość .pmode
Nie ma zwracanego błędu.
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.
Function | Wymagany nagłówek |
---|---|
_umask |
<io.h> , , <sys/stat.h> <sys/types.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Wszystkie wersje bibliotek czasu wykonywania języka C.
// 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
Obsługa plików
We/Wy niskiego poziomu
_chmod
, _wchmod
_creat
, _wcreat
_mkdir
, _wmkdir
_open
, _wopen