_umask

Imposta la maschera di autorizzazione file predefinita. Per una versione più sicura di questa funzione, vedere _umask_s .

Sintassi

int _umask( int pmode );

Parametri

pmode
Impostazione di autorizzazione predefinita.

Valore restituito

_umask restituisce il valore precedente di pmode. Non viene restituito alcun errore.

Osservazioni:

La _umask funzione imposta la maschera di autorizzazione file del processo corrente sulla modalità specificata da pmode. La maschera di autorizzazione file modifica l'impostazione di autorizzazione dei nuovi file creati da _creat, _open o _sopen. Se un bit nella maschera è impostato su 1, il bit corrispondente nel valore di autorizzazione richiesto del file è impostato su 0 (non consentito). Se un bit nella maschera è 0, il bit corrispondente viene lasciato invariato. L'impostazione di autorizzazione per un nuovo file non viene impostata finché il file non viene chiuso per la prima volta.

L'espressione pmode integer contiene una o entrambe le costanti manifesto seguenti, definite in SYS\STAT.H:

pmode Descrizione
_S_IWRITE Scrittura consentita.
_S_IREAD Lettura consentita.
_S_IREAD | _S_IWRITE Lettura e scrittura consentite.

Quando vengono fornite entrambe le costanti, vengono unite con l'operatore OR bit per bit ( | ). Se l'argomento è _S_IREAD, la pmode lettura non è consentita (il file è di sola scrittura). Se l'argomento pmode è _S_IWRITE, la scrittura non è consentita (il file è di sola lettura). Ad esempio, se il bit di scrittura è impostato nella maschera, tutti i nuovi file saranno di sola lettura. In MS-DOS e nei sistemi operativi Windows tutti i file sono leggibili; non è possibile concedere l'autorizzazione di sola scrittura. Pertanto, l'impostazione del bit di lettura con _umask non ha alcun effetto sulle modalità del file.

Se pmode non è una combinazione di una delle costanti manifesto o incorpora un set alternativo di costanti, la funzione li ignora.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificarlo, vedere Stato globale in CRT.

Requisiti

Funzione Intestazione obbligatoria
_umask <io.h>, <sys/stat.h>, <sys/types.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Librerie

Tutte le versioni delle librerie di runtime C.

Esempio

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

Vedi anche

Gestione dei file
I/O di basso livello
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen