Freigeben über


_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

Siehe auch

Referenz

Dateibehandlung

E/A auf niedriger Ebene

_chmod, _wchmod

_creat, _wcreat

_mkdir, _wmkdir

_open, _wopen