Russian Belarusian English German Japanese Ukrainian

Функция


Изменяет режим доступа к файлу.

Синтаксис


#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.

Переносимость


Уникальна для DOS

Пример


#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));
}

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту