共用方式為


_umask

設定預設檔案使用權限遮。 這些函式已有更安全的版本可用,請參閱 _umask_s

int _umask(
   int pmode 
);

參數

  • pmode
    預設使用權限集合。

傳回值

_umask 傳回 pmode的先前的值。 不會回傳錯誤。

備註

_umask函式將目前流程的檔案使用權限遮罩設定為pmode*.*所指定的模式。檔案使用權限遮罩修改 _creat、 _open或 _sopen建立的新檔案使用權限設定。 如果遮罩中的位元為 1,對應的位元檔案的要求的使用權限值設為 0 (禁止)。 如果遮罩中的位元為 0,對應的位元會保持不變。 新檔案的使用權限設定未設定,直到檔案第一次關閉。

整數運算式 pmode 包含定義於 SYS\STAT.H 裏的下列資訊清單常值其一或兩者兼有的整數表達式。

  • _S_IWRITE
    允許的寫入。

  • _S_IREAD
    允許的讀取。

  • _S_IREAD | _S_IWRITE
    允許讀取和寫入。

當給定兩個常值時,它們是以位元 OR 運算連接而已。 | ). 如果 pmode 引數為 _S_IREAD,將不允許 (檔案唯寫)。 如果 pmode 引數為 _S_IWRITE,將不允許寫入 (檔案唯讀)。 例如,在中,如果寫入位元遮罩中設定,所有新的檔案是唯讀的。 請注意與 MS-DOS 和 Windows 作業系統中,所有檔案是可讀取的;寫入唯寫權限是不可能的。 因此,設定具有_umask的讀取位元並不會對檔案的模式產生任何影響。

如果 pmode 不是其中一個組件資訊清單常數也不會合併替代組常數,函式將會忽略參數。

需求

常式

必要的標頭

_umask

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

如需其他相容性資訊,請參閱<簡介>中的相容性

程式庫

C 執行階段程式庫的所有版本。

範例

// crt_umask.c
// compile with: /W3
// This program uses _umask to set
// the file-permission mask so that all future
// files will be created as read-only files.
// It also displays the old mask.
#include <sys/stat.h>
#include <sys/types.h>
#include <io.h>
#include <stdio.h>

int main( void )
{
   int oldmask;

   /* Create read-only files: */
   oldmask = _umask( _S_IWRITE ); // C4996
   // Note: _umask is deprecated; consider using _umask_s instead
   printf( "Oldmask = 0x%.4x\n", oldmask );
}
  

.NET Framework 對等用法

System::IO::File::SetAttributes

請參閱

參考

檔案處理

低層級 I/O

_chmod、_wchmod

_creat、_wcreat

_mkdir、_wmkdir

_open、_wopen