Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt die Standard-Dateiberechtigungsmaske fest. Eine sicherere Version dieser Funktion finden Sie unter _umask_s .
Syntax
int _umask( int pmode );
Parameter
pmode
Standard-Berechtigungseinstellung.
Rückgabewert
_umask gibt den vorherigen Wert von pmode zurück. Es gibt keine Fehlerrückgabe.
Hinweise
Die _umask Funktion legt das Dateiberechtigungsformat des aktuellen Prozesses auf den durch pmode. Die Dateiberechtigungsmaske ändert die Berechtigungseinstellung neuer Dateien, die von _creat, _open oder _sopen erstellt werden. Wenn ein Bit in der Maske 1 ist, wird das entsprechende Bit im angeforderten Berechtigungswert der Datei auf 0 (nicht zulässig) festgelegt. Wenn ein Bit in der Maske 0 ist, bleibt das entsprechende Bit unverändert. Die Berechtigungseinstellung für eine neue Datei wird erst festgelegt, wenn die Datei zum ersten Mal geschlossen wird.
Der ganzzahlige Ausdruck pmode enthält eine oder beide der folgenden Manifestkonstanten, die in SYS\STAT.H:
pmode |
Beschreibung |
|---|---|
_S_IWRITE |
Schreiben erlaubt. |
_S_IREAD |
Lesen erlaubt. |
_S_IREAD | _S_IWRITE |
Lesen und Schreiben erlaubt. |
Wenn beide Konstanten angegeben werden, werden sie mit dem bitweisen OR-Operator ( | ) verknüpft. Wenn das pmode Argument lautet _S_IREAD, ist das Lesen nicht zulässig (die Datei ist schreibgeschützt). Wenn das pmode Argument lautet _S_IWRITE, ist das Schreiben nicht zulässig (die Datei ist schreibgeschützt). Wenn z.B. das Schreib-Bit in der Maske festgelegt ist, sind alle neuen Dateien schreibgeschützt. In MS-DOS und den Windows-Betriebssystemen sind alle Dateien lesbar; Es ist nicht möglich, schreibgeschützte Berechtigungen zu erteilen. Deshalb hat es keine Auswirkung auf den Dateimodus, wenn das Lese-Bit mit _umask belegt wird.
Wenn pmode es sich nicht um eine Kombination aus einer der Manifestkonstanten handelt oder einen alternativen Satz von Konstanten enthält, ignoriert die Funktion sie.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern finden Sie im Global state in the CRT.
Anforderungen
| Funktion | Erforderlicher Header |
|---|---|
_umask |
<io.h>, <sys/stat.h><sys/types.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Libraries
Alle Versionen der C-Laufzeitbibliotheken.
Beispiel
// 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
Siehe auch
Dateibehandlung
E/A auf niedriger Ebene
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen