CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
_chmod
_chmod
Функция Изменяет режим доступа к файлу. Синтаксис #include <dos.h> #include <io.h> int _chmod(const char * path, int func[,int attrib]); Файл, содержащий io.h прототип Описание Функция _chmod может изменять или устанавливать атрибуты файлов DOS. Если func равен 0, то функция возвращает текущие атрибуты DOS для данного файла. Если func равен 1, то атрибуты устанавливаются в сооответствии с аргументом attrib. attrib может быть одной из следующих символьных константных значений (определенных в dos.h): FA_RDONLY Только чтение. FA_HIDDEN Скрытый файл. FA_SYSTEM Системный файл. FA_LABEL Метка тома. FA_DIREC Каталог. FA_ARCH Архив. Возвращаемое При успешном завершении _chmod возвращает слово с значение атрибутами файла; иначе, возвращается значение -1. В случае ошибки errno присваивается одно из следующих значений: ENOENT - Маршрут или имя файла не найдены. EACCES - Отказ доступа. Переносимость _chmod уникальна для DOS. Смотрите также chmod, _creat. Пример: #include<errno.h> #include<stdio.h> #include<dos.h> #include<io.h> int get_file_attrib(char *filename); int main(void); { char filename[128]; int attrib; printf("Введите имя файла:"); scanf("%s",filename); attrib = get_file_attrib(filename); if(attrib == -1) switch(errno) { case ENOENT:printf("Маршрут или имя файла не найдены\n"); break; case EACCES:printf("Отказ доступа\n"); break; default: printf("Ошибка номер %d\n",errno); break; } else { if(attrib & FA_RDONLY) printf("%s имеет атрибут только на чтение\n",filename); if(attrib & FA_HIDDEN) printf("%s - cкрытый файл\n",filename); if(attrib & FA_SYSTEM) printf("%s - системный файл \n",filename); if(attrib & FA_LABEL) printf("%s - метка тома\n",filename); if(attrib & FA_DIREC) printf("%s - каталог\n",filename); if(attrib & FA_ARCH) printf("%s - архивный файл\n",filename); } return 0; } /* возвращает атрибуты файла */ int get_file_attrib(char *filename) { return(_chmod(filename,0)); }