Partager via


_umask

Définit le masque d’autorisation de fichier par défaut. Pour obtenir une version plus sécurisée de cette fonction, consultez _umask_s .

Syntaxe

int _umask( int pmode );

Paramètres

pmode
Paramètre d’autorisation par défaut.

Valeur retournée

_umask retourne la valeur précédente de pmode. Il n’existe aucun retour d’erreur.

Notes

La _umask fonction définit le masque d’autorisation de fichier du processus actuel sur le mode spécifié par pmode. Le masque d’autorisation de fichier modifie le paramètre d’autorisation des nouveaux fichiers créés par _creat, _open ou _sopen. Si un bit a la valeur 1 dans le masque, le bit correspondant dans la valeur d’autorisation demandée du fichier prend la valeur 0 (non autorisé). Si un bit a la valeur 0 dans le masque, le bit correspondant est inchangé. Le paramètre d’autorisation d’un nouveau fichier n’est pas défini tant que le fichier n’est pas fermé pour la première fois.

L’expression pmode entière contient une ou les deux constantes de manifeste suivantes, définies dans SYS\STAT.H:

pmode Description
_S_IWRITE Écriture autorisée.
_S_IREAD Lecture autorisée.
_S_IREAD | _S_IWRITE Lecture et écriture autorisées.

Lorsque les deux constantes sont fournies, elles sont jointes à l’opérateur OR au niveau du bit ( | ). Si l’argument est _S_IREAD, la pmode lecture n’est pas autorisée (le fichier est en écriture seule). Si l’argument est _S_IWRITE, l’écriture pmode n’est pas autorisée (le fichier est en lecture seule). Par exemple, si le bit d’écriture est défini dans le masque, les nouveaux fichiers sont en lecture seule. Dans MS-DOS et les systèmes d’exploitation Windows, tous les fichiers sont lisibles ; il n’est pas possible d’accorder une autorisation en écriture seule. Par conséquent, le fait définir le bit de lecture avec _umask n’a aucun effet sur les modes du fichier.

S’il pmode ne s’agit pas d’une combinaison d’une des constantes manifestes ou incorpore un autre ensemble de constantes, la fonction les ignore.

Par défaut, l’état global de cette fonction est limité à l’application. Pour le modifier, consultez l’état global dans le CRT.

Spécifications

Fonction En-tête requis
_umask <io.h>, , <sys/stat.h><sys/types.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Toutes les versions des bibliothèques Runtime C.

Exemple

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

Voir aussi

Gestion des fichiers
E/S de bas niveau
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen