Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

access

 
 Функция            Определяет возможность доступа к файлу.
 
 
 
 Синтаксис          #include<io.h>
 
                    int access(const char * filename, int amode);
 
 
 
 Файл, содержащий   io.h
 
 прототип
 
 
 
 Описание           access проверяет файл c именем filename для
 
                    определения, существует  ли  он,  может  ли он быть
 
                    прочитан, записан или выполнен.
 
 
 
                    Список значений параметра amode:
 
 
 
                    06   проверка разрешения на чтение и запись;
 
                    04   проверка разрешения на чтение;
 
                    02   проверка разрешения на запись;
 
                    01   проверка на выполнение (игнорируется);
 
                    00   проверка на существование файла;
 
 
 
                    Примечание. Под  управлением  операционной  системы
 
                    DOS  все  существующие файлы имеют доступ на чтение
 
                    (amode равен 04),  поэтому 00 и 04 дают один и  тот
 
                    же результат.  По той же причине значения параметра
 
                    amode эквивалентны,  поскольку под DOS  доступ  для
 
                    записи включает и доступ по чтению.
 
 
 
                    Если параметр    filename   является   ссылкой   на
 
                    директорию,  функция   access   просто   проверяет,
 
                    существует данная директория или нет.
 
 
 
 Возвращаемое       Если требуемый способ доступа разрешен, access
 
 значение           возвращает значение 0, иначе возвращается значение
 
                    -1 и  переменная  errno  получает одно из следующий
 
                    значений:
 
 
 
                      ENOENT - Маршрут  или имя файла не найдены
 
                      EACCES - Отказ доступа.
 
 
 
 Переносимость      Поддерживается  на системах UNIX.
 
 
 
 Смотрите также     chmod, fstat, stat.
 
 
 
 Пример:
 
 
 
 #include <stdio.h>
 
 #include <io.h>
 
 
 
 int file_exists(char * filename);
 
 
 
 int main(void)
 
 {
 
    printf("Существует ли файл NOTEXIST.FIL: %s\n",
 
       file_exists("NOTEXIST.FIL") ?  "Да":"Нет");
 
 }
 
 
 
 int file_exists(char * filename)
 
 {
 
    return (access(filename, 0) == 0);
 
 }
 
 
 
 Результат:
 
 Существует ли файл NOTEXIST.FIL: Нет


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS