_umask
既定のファイルのアクセス許可マスクを設定します。この関数のセキュリティが強化されたバージョンについては、「_umask_s」を参照してください。
int _umask(
int pmode
);
パラメーター
- pmode
既定のアクセス許可の設定。
戻り値
_umask は pmode の以前の値を返します。エラーの戻り値はありません。
解説
モードに現在のプロセス内のファイルのアクセス許可マスクが pmode で指定した _umask の関数のセット *。*ファイルのアクセス許可マスクは _creat_openまたは _sopen によって作成される新しいファイルのアクセス許可の設定を変更します。マスク ビットが 1 の場合ファイル要求されたアクセス許可の値の対応するビットが 0 に設定されます (拒否)。マスク ビットが 0 の場合対応するビットは変更されません。新しいファイルのアクセス許可の設定はファイルが初めて閉じるまで設定されません。
式は整数 pmode SYS \ STAT.H で次のマニフェスト定数 1 のいずれかまたは両方を定義して含まれています :
_S_IWRITE
許可される書き込みます。_S_IREAD
許可される読み取り。_S_IREAD | _S_IWRITE
許可される読み取りと書き込み。
定数が両方とも指定するとビットごとの OR 演算子で結合 ( | ).pmode の引数が _S_IREAD 場合読み取ることはできません (ファイルが書き込み専用です)。pmode の引数が _S_IWRITE 場合書き込むことはできません (ファイルが読み取り専用です)。たとえば書き込みビットのマスクの設定の場合新しいファイルが読み取り専用です。MS-DOS および Windows オペレーティング システムとすべてのファイルは読み取り可能であることに注意してください ; 書き込み専用アクセス許可を与えることはできません。したがって_umask の読み取りビットを設定するとファイル モードには影響しません。
pmode がマニフェスト定数の 1 種類の組み合わせで別の定数を組み込む関数はは無視します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_umask |
<io.h> <sys/stat.h><sys/types.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
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