Partager via


_chmod, _wchmod

modifie les paramètres d'autorisation de fichier.

int _chmod( 
   const char *filename,
   int pmode 
);
int _wchmod( 
   const wchar_t *filename,
   int pmode 
);

Paramètres

  • filename
    nom du fichier existant.

  • pmode
    paramètre d'autorisation pour le fichier.

Valeur de retour

Ces fonctions retournent 0 si le paramètre d'autorisation est modifié avec succès.Une valeur de retour - 1 indique un échec.Si le fichier spécifié est introuvable, errno est défini à ENOENT; si un paramètre est valide, errno est défini à EINVAL.

Notes

les modifications de fonction d' _chmod le paramètre d'autorisation du fichier spécifié par filename*.* le paramètre d'autorisation contrôle l'accès en lecture et en écriture au fichier.L'expression entière pmode contient une ou les deux constantes manifestes suivantes, défini dans le système \Stat .h.

  • _S_IWRITE
    écriture autorisée.

  • _S_IREAD
    lecture autorisée.

  • _S_IREAD | _S_IWRITE
    lecture et écriture autorisées.

Lorsque les deux constantes sont données, elles sont attachées avec l'opérateur de bits d' OR ( |).Si l'autorisation d'écriture n'est pas accordée, le fichier est en lecture seule.notez que tous les fichiers sont toujours lisibles ; il n'est pas possible d'accorder l'autorisation en écriture seule.Par conséquent, les modes _S_IWRITE et _S_IREAD | _S_IWRITE sont équivalents.

_wchmod est une version à caractère élargi d' _chmod; l'argument d' filename à _wchmod est une chaîne à caractères larges._wchmod et _chmod se comportent de sinon.

cette fonction valide ses paramètres.Si pmode n'est pas une combinaison d'une des constantes manifestes ou n'incorpore pas un ensemble de mosaïques constantes, la fonction ignore uniquement celles.si filename est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, errno est défini à EINVAL et retourne de fonction -1.

mappages de routines de texte générique

routine de Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_tchmod

_chmod

_chmod

_wchmod

Configuration requise

routine

en-tête requis

en-tête facultatif

_chmod

<io.h>

<sys/types.h> <sys/stat.h> , <errno.h>

_wchmod

<io.h> ou <wchar.h>

<sys/types.h> <sys/stat.h> , <errno.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

Exemple

// crt_chmod.c
// This program uses _chmod to
// change the mode of a file to read-only.
// It then attempts to modify the file.
//

#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

// Change the mode and report error or success 
void set_mode_and_report(char * filename, int mask)
{
   // Check for failure 
   if( _chmod( filename, mask ) == -1 )
   {
      // Determine cause of failure and report. 
      switch (errno)
      {
         case EINVAL:
            fprintf( stderr, "Invalid parameter to chmod.\n");
            break;
         case ENOENT:
            fprintf( stderr, "File %s not found\n", filename );
            break;
         default:
            // Should never be reached 
            fprintf( stderr, "Unexpected error in chmod.\n" );
       }
   }
   else
   {
      if (mask == _S_IREAD)
        printf( "Mode set to read-only\n" );
      else if (mask & _S_IWRITE)
        printf( "Mode set to read/write\n" );
   }
   fflush(stderr);
}

int main( void )
{ 

   // Create or append to a file. 
   system( "echo /* End of file */ >> crt_chmod.c_input" );

   // Set file mode to read-only: 
   set_mode_and_report("crt_chmod.c_input ", _S_IREAD );
   
   system( "echo /* End of file */ >> crt_chmod.c_input " );

   // Change back to read/write: 
   set_mode_and_report("crt_chmod.c_input ", _S_IWRITE );
 
   system( "echo /* End of file */ >> crt_chmod.c_input " ); 
} 
  une ligne de texte. 
  une ligne de texte. 
Mode la valeur de lecture seule
Accès refusé.
Mode accessible en lecture/écriture

Équivalent .NET Framework

Voir aussi

Référence

Gestion de fichiers

_access, _waccess

_create, _wcreat

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, fonctions de _wstat