_chmod, _wchmod
Zmienia ustawienia uprawnień do pliku.
int _chmod(
const char *filename,
int pmode
);
int _wchmod(
const wchar_t *filename,
int pmode
);
Parametry
filename
Nazwa istniejącego pliku.pmode
Ustawienie uprawnień dla pliku.
Wartość zwracana
Funkcje te zwracają 0, jeśli zmienione ustawienie uprawnienia.Zwracana wartość –1 wskazuje błąd.Jeśli nie można odnaleźć określonego pliku, errno jest ustawiona na ENOENT; Jeśli parametr jest nieprawidłowy, errno jest ustawiona na EINVAL.
Uwagi
_chmod Funkcji zmienia ustawienie uprawnienia pliku określonego przez filename*.* Ustawienie uprawnień kontroluje odczytu i zapisu do pliku.Wyrażenie liczby całkowitej pmode zawiera jedną lub obie z następujących stałych manifestu, określonych w SYS\Stat.h.
_S_IWRITE
Dozwolone pisania._S_IREAD
Dozwolone czytania._S_IREAD | _S_IWRITE
Czytanie i pisanie dozwolone.
Gdy podane są zarówno stałych, są połączone z bitowym OR operator ( |).Jeśli uprawnienie do zapisu nie jest podany, plik jest tylko do odczytu.Należy zauważyć, że wszystkie pliki są zawsze czytelne; nie jest możliwe nadać uprawnienia tylko do zapisu.W ten sposób, tryby _S_IWRITE i _S_IREAD | _S_IWRITE są równoważne.
_wchmodjest to wersja szerokich znaków _chmod; filename argument _wchmod jest łańcuch szerokich znaków._wchmodi _chmod zachowują się identycznie inaczej.
Funkcja ta sprawdza poprawność jego parametry.Jeśli pmode nie jest w połączeniu jednego manifestu stałych lub zawiera alternatywny zestaw stałych, funkcja po prostu ignoruje te.Jeśli filename jest NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca wartość -1.
Tekst rodzajowy rutynowych mapowania
Procedura TCHAR.h |
_UNICODE i _MBCS nie zdefiniowane |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tchmod |
_chmod |
_chmod |
_wchmod |
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Opcjonalne nagłówka |
---|---|---|
_chmod |
<io.h> |
<sys/types.h>, <sys/stat.h>, <errno.h> |
_wchmod |
<io.h> lub <wchar.h> |
<sys/types.h>, <sys/stat.h>, <errno.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// 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 " );
}
Wiersz tekstu.
A line of text. Tryb tylko do odczytu Odmowa dostępu. Trybie do odczytu i zapisu
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32