_umask
Nastaví výchozí oprávnění souboru masku.Bezpečnější verze této funkce je k dispozici; see _umask_s.
int _umask(
int pmode
);
Parametry
- pmode
Výchozí nastavení oprávnění.
Vrácená hodnota
_umaskVrátí předchozí hodnotu pmode.Neexistuje žádná chyba návratu.
Poznámky
_umask Funkce nastaví režim určený Maska oprávnění souboru aktuální proces pmode*.* Maska oprávnění soubor upravuje nastavení oprávnění v nové soubory vytvořené v _creat, _open, nebo _sopen.Pokud je v masce bit 1, příslušné bity hodnotu požadované oprávnění souboru nastavena na 0 (zakázáno).Pokud je v masce bit 0, odpovídající bit je ponechán beze změny.Nastavení oprávnění pro nový soubor není nastavena, dokud nezavřete první soubor.
Výraz celé pmode obsahuje jeden nebo oba následující manifestu konstanty definované v SYS\STAT.H:
_S_IWRITE
Zápis povolen._S_IREAD
Čtení povoleny._S_IREAD | _S_IWRITE
Čtení a zápis povolen.
Při obou konstanty jsou uvedeny, jsou spojeny pomocí operátoru bitový operátor OR ( | ).Pokud pmode argument je _S_IREAD, není povoleno čtení (soubor je jen pro zápis).Pokud pmode argument je _S_IWRITE, není povolen zápis (soubor je jen pro čtení).Například pokud je nastaven bit zápis v masce, nové soubory budou být jen pro čtení.Systém MS-DOS a operační systémy Windows, všechny soubory jsou čitelné; není možné udělit oprávnění pouze pro zápis.Proto nastavení čtení bit s _umask nemá žádný vliv na režimy v souboru.
Pokud pmode je kombinací jedné z manifestu konstant nebo zahrnuje alternativní sadu konstant, funkcí bude jednoduše ignorovat ty.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_umask |
<io.h>, <sys/stat.h>, <sys/types.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Knihovny
Všechny verze C Runtime knihovny.
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 );
}
Ekvivalent v rozhraní .NET Framework
System::IO::file::SetAttributes