umask

提供: RAD Studio
移動先: 案内検索

io.h:インデックス への移動


ヘッダーファイル

io.h, sys\stat.h

カテゴリ

入出力ルーチン

プロトタイプ

unsigned umask(unsigned mode);

説明

ファイルの読み出し/書き込み許可マスクを設定します。

umask 関数は,open と creat によって使用されるアクセス許可マスクを設定します。その後の open または create で作成されるファイルのアクセス許可では,mode で設定されたビットがクリアされます。

mode には,次のいずれかの値を指定できます。これらの値は,sys\stat.h で定義されています。

S_IWRITE

書き込み許可

S_IREAD

読み取り許可

S_IREAD|S_IWRITE

読み書き許可



戻り値

直前のマスクの値。エラーの戻り値はありません。



 #include <io.h>
 #include <stdio.h>
 #include <sys\stat.h>
 #define FILENAME "TEST.$$$"
 int main(void)
 {
     unsigned oldmask;
     FILE *f;
     struct stat statbuf;
     /* 後続のファイルを読み出し専用で作成します */
     oldmask = umask(S_IWRITE);
     printf("Old mask = 0x%x\n",oldmask);
     /* 長さ 0 のファイルを作成します */
     if ((f = fopen(FILENAME,"w+")) == NULL)
     {
         perror("Unable to create output file");
         return (1);
     }
     fclose(f);
     /* ファイルが読み出し専用であることを検証します */
     if (stat(FILENAME,&statbuf) != 0)
     {
         perror("Unable to get information about output file");
         return (1);
     }
     if (statbuf.st_mode & S_IWRITE)
         printf("Error! %s is writable!\n",FILENAME);
     else
         printf("Success! %s is not writable.\n",FILENAME);
     return (0);
 }



移植性



POSIX Win32 ANSI C ANSI C++

+

+