_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

Obsługa plików

_access, _waccess

_creat, _wcreat

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat — Funkcje