_umask
Ustawia domyślną maskę uprawnień pliku.Bardziej bezpieczna wersja ta funkcja jest dostępna; see _umask_s.
int _umask(
int pmode
);
Parametry
- pmode
Domyślne ustawienie uprawnienia.
Wartość zwracana
_umaskZwraca wartość poprzedniej pmode.Istnieje bez powrotu błąd.
Uwagi
_umask Funkcja ustawia maskę uprawnień dla pliku bieżącego procesu w trybie określonym przez pmode*.* Maska uprawnień pliku zmienia ustawienie uprawnienia nowych plików utworzonych przez _creat, _open, lub _sopen.Jeśli bit w masce jest 1, odpowiadający mu bit w pliku żądane uprawnienie jest ustawiona na 0 (niedozwolone).Jeśli bit w masce jest 0, odpowiadający mu bit pozostaje bez zmian.Ustawienie uprawnień dla nowego pliku nie jest ustawiona, dopóki plik nie zostanie zamknięty po raz pierwszy.
Wyrażenie liczby całkowitej pmode zawiera jedną lub obie z następujących stałych manifestu, określonych w SYS\STAT.H:
_S_IWRITE
Dozwolone pisania._S_IREAD
Dozwolone czytania._S_IREAD | _S_IWRITE
Czytanie i pisanie dozwolone.
Gdy podane są zarówno stałych, są połączone z (operatory OR, operator | ).Jeśli pmode argument jest _S_IREAD, odczytu jest niedozwolone (plik jest tylko do zapisu).Jeśli pmode argument jest _S_IWRITE, nie jest dozwolone zapisywanie (plik jest tylko do odczytu).Na przykład jeśli bit zapisu jest ustawiony w masce, nowe pliki będą tylko do odczytu.Należy zauważyć, że z systemami operacyjnymi Windows i MS-DOS, wszystkie pliki są czytelne; nie jest możliwe nadać uprawnienia tylko do zapisu.Dlatego ustawienie read bit z _umask nie ma wpływu na plik trybów.
Jeśli pmode nie jest w połączeniu jednego manifestu stałych lub zawiera alternatywny zestaw stałych, funkcja po prostu zignoruje te.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_umask |
<io.h>, <sys/stat.h>, <sys/types.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Biblioteki
Wszystkie wersje biblioteki uruchomieniowej 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 );
}
Odpowiednik w programie .NET Framework
System::IO::File::SetAttributes