Главная страница
Навигация по странице:

  • Возвращаемое

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

  • Назначение

  • Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования


    Скачать 3.41 Mb.
    НазваниеПодпрограммы классификации Подпрограммы преобразования
    АнкорСправочник по функциям С++.doc
    Дата07.05.2018
    Размер3.41 Mb.
    Формат файлаdoc
    Имя файлаСправочник по функциям С++.doc
    ТипДокументы
    #18992
    КатегорияИнформатика. Вычислительная техника
    страница12 из 120
    1   ...   8   9   10   11   12   13   14   15   ...   120

    absread


    ----------------------------------------------------------------
    Назначение Непосредственный доступ к данным.
    Синтаксис int absread (int drive, int nsects, int

    sectno, void *buffer);
    Прототип в dos.h
    Замечания absread читает заданные секторы диска.

    Она игнорирует логическую структуру диска и не

    обращает внимания на файлы, таблицы размещения

    файлов (FAT) и каталоги.
    absread читает заданные секторы диска с помощью

    прерывания DOS 0х25.
    drive = номер дисковода (0=А,1=В...)

    nsects = количество секторов для записи

    sectno = начальный номер логического сектора

    buffer = адрес памяти, куда будут считываться

    данные с диска.
    Число считываемых секторов ограничено памятью

    сегмента buffer. Таким образом 64К - наибольшая

    память, которая может быть использована за один

    вызов absread.
    Возвращаемое При успешном завершении функция возвращает 0.

    значение При ошибке функция возвращает -1 и устанавлива-

    ет errno в значение, равное AX, которое возвра-

    щается системным вызовом. Описание errno смот-

    рите в документации по MS-DOS.
    Переносимость Уникальна для MS-DOS.
    Смотри также absWrite, biosdisk

    -----------------------------------------------------------------

    abswrite


    -----------------------------------------------------------------
    Назначение Запись данных.
    Синтаксис int abswrite (int drive,int nsects,int sectno,

    void *buffer)
    Прототип в dos.h
    Замечания abswrite записывает данные в указанные секторы

    диска. Она игнорирует логическую структуру дис-

    ка и не обращает внимания на файлы, таблицы

    размещения файлов (FAT) и каталоги.
    Замечание: в случае некорректного использования

    данной функции информация в существующих фай-

    лах, оглавлениях и каталогах может быть испор-

    чена.
    abswrite записывает заданные секторы с помощью

    прерывания DOS 0х26.
    drive = номер дисковода (0=А,1=В...)

    nsects = количество записываемых секторов

    sectno = начальный номер логического сектора

    buffer = адрес памяти, куда будут записывать-

    ся данные с диска.
    Число считываемых секторов ограничено памятью

    сегмента buffer. Таким образом 64К - наибольшая

    память, которая может быть использована за один

    вызов abswrite.
    Возвращаемое При успешном завершении функция возвращает 0.

    значение При ошибке функция возвращает -1 и устанавлива-

    ет errno в значение, равное AX, которое возвра-

    щается системным вызовом. Описание errno смот-

    рите в документации по MS-DOS.
    Переносимость Уникальна для MS-DOS.
    Смотри также absread, biosdisk

    -----------------------------------------------------------------

    access


    -----------------------------------------------------------------
    Назначение Определяет доступнорсть файла.
    Синтаксис int access(const char*filename,int amode);
    Прототип в io.h
    Замечания access выполняет проверку на наличие файла, оп-

    ределенного строкой filename и определяет пол-

    номочия по доступу к нему (чтение, запись, вы-

    полнение).
    Параметр amode может принимать значения:
    06 контроль разрешения чтения/записи

    04 контроль разрешения чтения

    02 контроль разрешения записи

    01 выполнение (игнорируется)

    00 контроль существования файла
    Замечание: в среде MS-DOS, все существующие

    файлы считаются доступными для чтения

    (amode=04), поэтому обращение к access со зна-

    чением amode 00 и 04 дают одинаковый результат.

    По той же причине значение amode 02 эквивалент-

    но 06, т.к., в среде MS-DOS, доступность файла

    для записи подразумевает доступность его и для

    чтения.
    Если значением filename является имя каталога,

    то функция access просто определяет имеется ли

    каталог с таким именем или нет.
    Возвращаемое Если доступ разрешен, то возвращается 0, в

    значение противном случае возвращается -1 и errno уста-

    навливается в одно из следующих состояний:
    ENOENT Маршрут или имя файла не найдено
    EACCES Доступ запрещен.
    Переносимость Доступна в UNIX.
    Смотри также chmod, fstat, stat
    Пример

    #include

    #include
    /* возвращает 1 если filename существует, иначе 0 */
    int file_exists(char *filename)

    {

    return (access(filename, 0) == 0);

    }
    main()

    {

    printf("Есть доступ к NOTEXIST.FIL : %s\n",

    file_exists("NOTEXIST.FIL") ? "ДА" : "НЕТ");

    }


    Результаты работы программы:
    Есть доступ к NOTEXITS.FIL : НЕТ

    -----------------------------------------------------------------
    1   ...   8   9   10   11   12   13   14   15   ...   120


    написать администратору сайта