_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