Sdílet prostřednictvím


_umask

Nastaví výchozí masku oprávnění k souboru. Bezpečnější verzi této funkce najdete v tématu _umask_s .

Syntaxe

int _umask( int pmode );

Parametry

pmode
Výchozí nastavení oprávnění

Vrácená hodnota

_umaskvrátí předchozí hodnotu .pmode Nevrátí se žádná chyba.

Poznámky

Funkce _umask nastaví masku oprávnění souboru aktuálního procesu do režimu určeného uživatelem pmode. Maska oprávnění souboru upravuje nastavení oprávnění nových souborů vytvořených uživatelem _creat, _opennebo _sopen. Pokud je bit v masce 1, odpovídající bit v požadované hodnotě oprávnění souboru je nastaven na hodnotu 0 (zakázáno). Pokud je v masce bit 0, odpovídající bit zůstane beze změny. Nastavení oprávnění pro nový soubor není nastavené, dokud se soubor poprvé nezavře.

Celočíselné výrazy pmode obsahují jednu nebo obě následující konstanty manifestu definované v SYS\STAT.H:

pmode Popis
_S_IWRITE Zápis je povolený.
_S_IREAD Čtení povoleno.
_S_IREAD | _S_IWRITE Čtení a psaní je povoleno.

Když jsou obě konstanty zadané, spojí se s bitovým operátorem OR ( | ). pmode Pokud je _S_IREADargument , čtení není povolené (soubor je jen pro zápis). pmode Pokud je _S_IWRITEargument , zápis není povolený (soubor je jen pro čtení). Pokud je například bit zápisu nastavený v masce, všechny nové soubory budou jen pro čtení. V MS-DOS a operačních systémech Windows jsou všechny soubory čitelné; Oprávnění jen pro zápis není možné udělit. Proto nastavení bitu _umask pro čtení nemá žádný vliv na režimy souboru.

Pokud pmode není kombinací jedné z konstant manifestu nebo zahrnuje alternativní sadu konstant, funkce je ignoruje.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Pokud ho chcete změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Function Požadovaný hlavičkový soubor
_umask <io.h>, , <sys/stat.h><sys/types.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Knihovny

Všechny verze knihoven runtime jazyka C.

Příklad

// 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

Viz také

Zpracování souborů
Vstupně-výstupní operace nízké úrovně
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen