_chmod _wchmod
Změní nastavení oprávnění k souboru.
int _chmod(
const char *filename,
int pmode
);
int _wchmod(
const wchar_t *filename,
int pmode
);
Parametry
filename
Název existujícího souboru.pmode
Nastavení oprávnění pro soubor.
Vrácená hodnota
Tyto funkce vrátí 0, pokud nastavení oprávnění úspěšně změněno.Vrácená hodnota –1 označuje chybu.Pokud je zadaný soubor nebyl nalezen, errno je nastavena na ENOENT; Pokud je parametr neplatný, errno je nastavena na EINVAL.
Poznámky
_chmod Funkce změní nastavení oprávnění souboru určeného parametrem filename*.* Nastavení oprávnění určuje, čtení a zápis do souboru.Výraz celé pmode obsahuje jeden nebo oba následující manifestu konstanty definované v SYS\Stat.h.
_S_IWRITE
Zápis povolen._S_IREAD
Čtení povoleny._S_IREAD | _S_IWRITE
Čtení a zápis povolen.
Při obou konstanty jsou uvedeny, jsou spojeny s bitového OR () operátor |).Pokud oprávnění k zápisu není uvedena, je soubor jen pro čtení.Všechny soubory jsou vždy čitelný; není možné udělit oprávnění pouze pro zápis.Proto režimy _S_IWRITE a _S_IREAD | _S_IWRITE jsou rovnocenné.
_wchmodje verze celého znaku _chmod; filename argument _wchmod je řetězec znaků wide._wchmoda _chmod chovají jinak shodně.
Tato funkce ověřuje jeho parametry.Pokud pmode je kombinací jedné z manifestu konstant nebo zahrnuje alternativní sadu konstant, funkcí ignoruje ty.Pokud filename je NULL, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, errno je nastavena na EINVAL a vrátí -1.
Obecný Text rutinní mapování
Rutina Tchar.h |
_UNICODE a _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_tchmod |
_chmod |
_chmod |
_wchmod |
Požadavky
Rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_chmod |
<io.h> |
<sys/types.h>, <sys/stat.h>, <errno.h> |
_wchmod |
<io.h> nebo <wchar.h> |
<sys/types.h>, <sys/stat.h>, <errno.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Příklad
// 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 " );
}
Řádek textu.
A line of text. Nastavit režim jen pro čtení Přístup byl odepřen. Režim nastaven na čtení i zápis
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32