Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
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 : НЕТ ----------------------------------------------------------------- |