Exporter (0) Imprimer
Développer tout
div
eof
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

_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 
);
filename

nom du fichier existant.

pmode

paramètre d'autorisation pour le fichier.

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.

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 de paramètre. 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

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.

// 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
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.