_umask
設定的預設權限的檔案遮罩。 更安全版本之這個函式是可使用; see _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