CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
chmod
CHMOD
#include <sys\types.h>
#include <sys\stat.h>
#include <io.h> требуется только для объявления
функции
int chmod(pathname,pmode);
char *pathname; path-имя существующего файла
int pmode; разрешенный доступ для файла
Описание.
Функция chmod изменяет разрешенный доступ для файла, задан-
ного path-именем. Разрешенный доступ управляет чтением и записью
файла. Константное выражение pmode состоит из одной или обеих ма-
нифестных констант S_IWRITE и S_IREAD, определенных в <sys\stat.h>.
Любое другое значение для pmode игнорируется. Когда заданы обе
константы, они объединяются логическим оператором ИЛИ (:). Значе-
ния аргументов pmode представлены ниже.
ЗНАЧЕНИЕ СМЫСЛ ЗНАЧЕНИЯ
S_IWRITE разрешена запись
S_IREAD разрешено чтение
S_IREAD : S_IWRITE разрешены чтение и запись
Если разрешение на запись не задано, файл доступен только
для чтения. В MS DOS все файлы доступны для чтения, поэтому не-
возможно задание разрешения только на запись. Поэтому режимы
S_IWRITE и S_IREAD : S_IWRITE являются эквивалентными.
Возвращаемое значение.
Функция chmod возвращает значение 0, если разрешенный дос-
туп успешно изменен. Возвращаемое значение -1 свидетельствует об
ошибке; в этом случае errno устанавливается в ENOENT, указывая,
что определенный файл не может быть найден.
См.также access, creat, fstat, open, stat.
Пример:
#include <sys\types.h>
#include <sys.stat.h>
#include <io.h>
int result;
.
.
.
result=chmode("data",S_IREAD);
/* создать файл только для чтения */
if (result==-1)
perror("can't change file mode");
