_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