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


Copyright(C) 2006-2018 CLAYPOT. All Rights Reserved.