Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает маску разрешений файла по умолчанию. Более безопасная версия этой функции см. в разделе _umask_s .
Синтаксис
int _umask( int pmode );
Параметры
pmode
Параметр разрешения по умолчанию.
Возвращаемое значение
_umask возвращает предыдущее значение pmode. Не возвращается ошибка.
Замечания
Функция _umask задает маску разрешений для файла текущего процесса в режиме, указанном в pmodeпараметре . Маска разрешений файла изменяет параметр разрешения для новых файлов, созданных _creat, _open или _sopen. Если бит в битовой маске равен 1, соответствующий бит в запрошенном значении разрешения имеет значение 0 (запрещено). Если бит в битовой маске равен 0, соответствующий бит остается без изменений. Параметр разрешения для нового файла не задан, пока файл не будет закрыт в первый раз.
Целочисленное выражение pmode содержит одну или обе из следующих констант манифеста, определенных в SYS\STAT.H:
pmode |
Description |
|---|---|
_S_IWRITE |
Разрешена запись. |
_S_IREAD |
Разрешено чтение. |
_S_IREAD | _S_IWRITE |
Разрешены чтение и запись. |
При указании обеих констант они присоединяются к побитовой оператору OR ( | ). pmode Если аргумент имеет _S_IREADзначение, чтение не допускается (файл доступен только для записи). pmode Если аргумент имеет _S_IWRITEзначение, запись не допускается (файл доступен только для чтения). Например, если в маске установлен бит записи, все новые файлы будут доступны только для чтения. В MS-DOS и операционных системах Windows все файлы доступны для чтения; Невозможно предоставить разрешение только для записи. Таким образом, установка бита чтения с помощью _umask не влияет на режимы файла.
Если pmode не является сочетанием одной из констант манифеста или включает альтернативный набор констант, функция игнорирует их.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить его, ознакомьтесь с глобальным состоянием в CRT.
Требования
| Function | Обязательный заголовок |
|---|---|
_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 );
}
Oldmask = 0x0000
См. также
Обработка файлов
Низкоуровневый ввод-вывод
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen