_umask
Legt die Standarddateiberechtigungsmaske fest. Eine sicherere Version dieser Funktion ist verfügbar; finden Sie unter _umask_s.
int _umask(
int pmode
);
Parameter
- pmode
Standardberechtigungseinstellung.
Rückgabewert
_umask gibt dem vorhergehenden Wert von pmode zurück. Es gibt keine Fehlerrückgabe.
Hinweise
Die _umask-Funktion wird die Dateiberechtigungsmaske des aktuellen Prozesses auf den Modus ab, der von pmode angegeben wird . Die Dateiberechtigungsmaske ändert die Berechtigungseinstellung von neuen 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 festgelegt (nicht zulässig). Wenn ein Bit in der Maske 0 ist, wird das entsprechende Bit unverändert gelassen. Die Berechtigungseinstellung für eine neue Datei wird nicht festgelegt, bis die Datei zum ersten Mal geschlossen ist.
Der ganzzahlige Ausdruck pmode enthält eine oder beide der folgenden Manifestkonstanten, die in SYS\STAT.H:
_S_IWRITE
Schreiben zulässig._S_IREAD
Lesen zulässig._S_IREAD | _S_IWRITE
Lesen und Schreiben zulässig.
Wenn beide Konstanten angegeben werden, sind sie mit dem bitweisen Operator OR verknüpft ( | ). Wenn pmode das Argument _S_IREAD, wird das Lesen nicht zulässig (die Datei ist lesegeschützt). Wenn pmode das Argument _S_IWRITE, wird das Schreiben nicht zulässig (die Datei ist schreibgeschützt). Wenn das schreibensbit in der Maske gesetzt wird, werden alle neuen Dateien schreibgeschützt. Beachten Sie das mit MS-DOS- und die Windows-Betriebssysteme, alle Dateien sind lesbar; es ist nicht möglich, lesegeschützte Berechtigung zu geben. Deshalb hat das Festlegen des Lesebits mit _umask keine Auswirkungen auf die Modi der Datei.
Wenn pmode keine Kombination einer Manifestkonstanten ist oder einen alternative Konstanten enthält, ignoriert die Funktion einfach die.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_umask |
<io.h, sys></stat.h, sys/>types.h <> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Bibliotheken
Alle Versionen 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 );
}
.NET Framework-Entsprechung
System::IO::File::SetAttributes