_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
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32