Aracılığıyla paylaş


_chmod, _wchmod

Dosya izin ayarlarını değiştirir.

int _chmod( 
   const char *filename,
   int pmode 
);
int _wchmod( 
   const wchar_t *filename,
   int pmode 
);

Parametreler

  • filename
    Varolan dosyanın adı.

  • pmode
    Dosya izni ayarı.

Dönüş Değeri

Bu işlevler izin ayarını başarıyla değiştirilirse 0 döndürür. –1 Dönüş değeri işlemin başarısız olduğunu gösterir. Belirtilen dosya bulunamadı, errno ayarlamak ENOENT; bir parametre geçersiz, errno ayarlamak EINVAL.

Notlar

_chmod İşlevi tarafından belirtilen dosya izni ayarını değiştirir filename*.* Okuma ve dosyaya yazma erişimi izni ayarı denetler. Tamsayı deyim pmode birini veya her ikisini SYS\Stat.h içinde tanımlanan aşağıdaki bildirim sabitleri içerir.

  • _S_IWRITE
    Yazma izni.

  • _S_IREAD
    Okuma izni.

  • _S_IREAD | _S_IWRITE
    Okuma ve yazma izni.

Her iki sabitleri verildiğinde, bunlar Bitsel katılmış OR işlecini () |). Yazma izni verilmemişse, dosya salt-okunurdur. Tüm dosyaları her zaman okunabilir olduğunu unutmayın; salt yazma izni vermek mümkün değildir. Bu nedenle, modları _S_IWRITE ve _S_IREAD | _S_IWRITE eşdeğerdir.

_wchmodgeniş karakter sürümü _chmod; filename bağımsız değişkeni _wchmod bir geniş karakter dizesidir. _wchmodve _chmod Aksi takdirde aynı şekilde davranır.

Bu işlev parametreleri doğrular. pmode Bildirim sabitlerinden biri bir birleşimi değildir veya diğer bir kümesini içerir sabitler, işlev sadece olanlar yoksayar. filename Olan NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilip verilmediğini errno ayarlamak EINVAL ve işlev-1 değerini döndürür.

Genel metin yordamı eşlemeleri

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tchmod

_chmod

_chmod

_wchmod

Gereksinimler

Yordamı

Gerekli başlık

İsteğe bağlı bir üstbilgi

_chmod

<io.h>

<sys/types.h>, <sys/stat.h>, <errno.h>

_wchmod

<io.h> veya <wchar.h>

<sys/types.h>, <sys/stat.h>, <errno.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// 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 " ); 
} 
  Bir satırlık metin.

FakePre-eba90c02e6594e2ebf2abaecf0848347-2759073d09cd4136913acb155bda950f

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

Dosya işleme

_access, _waccess

_creat, _wcreat

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat işlevleri