Loose-Info.com
Last Update 2012/07/05
TOP - C言語 - sys/stat.h - umask()

プロセスのファイルモード生成マスク値をセットします。
設定した値はmkdir()などで使用され、下位9ビット(8進数3桁)に影響します。
デフォルト値は022となります。

 戻り値1  = umask(  引数1  )

戻り値1 :
mode_t
実行前までのファイルモード生成マスク値
引数1 :
mode_t
指定するマスク値

(例)
#include <stdio.h> #include <sys/stat.h> int main() { struct stat buf; mkdir("test_dir_01", 0777); stat("test_dir_01", &buf); printf("st_mode : %#o\n\n", buf.st_mode); umask(0000); mkdir("test_dir_02", 0777); stat("test_dir_02", &buf); printf("st_mode : %#o\n", buf.st_mode); remove("test_dir_01"); remove("test_dir_02"); return 0; }

実行結果
st_mode : 040755 st_mode : 040777