Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

chmod

chmod


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

Синтаксис          #include <sys\stat.h>
                   int chmod(const char * path, int amode);

Файл, содержащий   io.h
прототип

Описание           Функция chmod уставливает режим доступа к файлу,
                   заданному аргументом path в соответствии с  маской,
                   содержащейся   в  аргументе  amode.  Аргумент  path
                   указывает на  символьную  строку;  *path   является
                   первым сиволом этой строки.

                   amode может   содержать  одну  или  обе  символьные
                   константы S_IWRITE и S_IREAD (определенные в  файле
                   sys\stat.h).

                   ---------------------------------------------------
                   Значение, amode     Режим доступа
                   ---------------------------------------------------
                   S_IWRITE             Разрешение на запись.
                   S_IREAD              Разрешение на чтение.
                   S_IREAD|S_IWRITE     Разрешение на чтение и запись.
                   ---------------------------------------------------

Возвращаемое       При успешном завершении изменения режима доступа к
значение           файлу функция chmod возвращает значение 0. Иначе,
                   chmod возврашает значение -1.

                   В случае   ошибки   errno   присваивается  одно  из
                   следующих значений:

                     ENOENT - Маршрут или имя файла не найдены.
                     EACCES   Отказ доступа.

Переносимость      Функция chmod поддерживается на системах UNIX.

Смотрите также     access, _chmod, fstat, open, sopen, stat.

Пример:

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

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог