_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
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32