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");