Sdílet prostřednictvím


_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

Zpracování souborů

_access _waccess

_creat _wcreat

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat funkce _wstat