Udostępnij przez


_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

_umaskZwraca 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, _openlub _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