_chmod, _wchmod
Modifica delle impostazioni di autorizzazione file.
int _chmod(
const char *filename,
int pmode
);
int _wchmod(
const wchar_t *filename,
int pmode
);
Parametri
filename
Nome del file esistente.pmode
Impostazione di autorizzazione per il file.
Valore restituito
Queste funzioni restituiscono 0 se l'impostazione di autorizzazione correttamente viene modificata.Restituito un valore pari a 1 indica un errore.Se il file specificato non è disponibile, errno è impostato su ENOENT; se un parametro non è valido, errno è impostato su EINVAL.
Note
_chmod modifiche di funzione l'impostazione di autorizzazione del file specificato da filename*.* L'impostazione di autorizzazione controlla in lettura e in scrittura al file.l'espressione Integer pmode contiene una o entrambe le seguenti costanti manifesto, definito nel sistema \Stat h.
_S_IWRITE
Scrittura valida._S_IREAD
Lettura valida._S_IREAD | _S_IWRITE
lettura e scrittura consentite.
Quando entrambe le costanti vengono fornite, vengono unite dal bit per bit OR operatore ( |).Se l'autorizzazione di scrittura non viene concessa, il file è di sola lettura.Si noti che i file sono sempre leggibili; non è possibile fornire l'autorizzazione di sola scrittura.Pertanto, le modalità _S_IWRITE e _S_IREAD | _S_IWRITE sono pertanto equivalenti.
_wchmod è una versione a caratteri estesi di _chmod; filename argomento a _wchmod è una stringa di caratteri estesi._wchmod e _chmod comportano in modo identico in caso contrario.
Questa funzione convalida dei parametri.se pmode non è una combinazione di una delle costanti manifesto o non include un set alternate costanti, la funzione semplicemente ignora quelli.se filename viene NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, errno è impostato su EINVAL e la funzione restituisce -1.
Mapping di routine a testo generico
routine di Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tchmod |
_chmod |
_chmod |
_wchmod |
Requisiti
routine |
Intestazione di associazione |
intestazione facoltativa |
---|---|---|
_chmod |
<io.h> |
<sistema/types.h> , <sistema/stat.h> , <errno.h> |
_wchmod |
<io.h> o <wchar.h> |
<sistema/types.h> , <sistema/stat.h> , <errno.h> |
Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.
Esempio
// 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 " );
}
Una riga di testo.
Una riga di testo. Modalità impostata su in sola lettura Accesso negato. Modalità impostata su lettura/scrittura
Equivalente .NET Framework
Vedere anche
Riferimenti
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32