- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (dos, 8086, bios)
- •Подпрограммы манипулирования (строками, памятью)
- •Математические подпрограммы
- •Подпрограммы распределения памяти
- •Прочие подпрограммы
- •Подпрограммы управления процессами
- •Cтандартные подпрограммы
- •Подпрограммы отображения текста в окнах
- •Подпрограммы работы со временем и датой
- •Подпрограммы с переменным списком аргументов
- •Environ
- •Errno, _doserrno, sys_errlist, sys_nerr
- •_Heaplen
- •_Osmajor, _osminor
- •_Stklen
- •Timezone
- •_Version
- •Absread
- •Abswrite
- •Allocmem
- •Asctime
- •Bdosptr
- •Bioscom
- •Biosdisk
- •Biosequip
- •Bioskey
- •Biosmemory
- •Biosprint
- •Biostime
- •Bsearch
- •_Clear87
- •Cleardevice
- •Clearerr
- •Closegraph
- •_Control87
- •Coreleft
- •Country
- •Сprintf
- •Creatnew
- •Creattemp
- •Ctrlbrk
- •Delline
- •Detectgraph
- •Difftime
- •Disable
- •Dosexterr
- •Dostounix
- •Drawpoly
- •Ellipse
- •Exec...
- •Farcalloc
- •Farcoreleft
- •Farfree
- •Farmalloc
- •Farrealloc
- •Fcloseall
- •Fgetchar
- •Fgetpos
- •Filelength
- •Fillellipse
- •Fillpoly
- •Findfirst
- •Findnext
- •Floodfill
- •Flushall
- •Fnmerge
- •Fnsplit
- •_Fpreset
- •Fprintf
- •Fputchar
- •Freemem
- •Freopen
- •Fsetpos
- •Geninterrupt
- •Getarccoords
- •Getaspectratio
- •Getbkcolor
- •Getcbrk
- •Getchar
- •Getcolor
- •Getcurdir
- •Getdate
- •Getdefaultpalette
- •Getdfree
- •Getdisk
- •Getdrivername
- •Getfatd
- •Getfillpattern
- •Getfillsettings
- •Getftime
- •Getgraphmode
- •Getimage
- •Getlinesettings
- •Getmaxcolor
- •Getmaxmode
- •Getmaxx
- •Getmaxy
- •Getmodename
- •Getmoderange
- •Getpallete
- •Getpalettesize
- •Getpass
- •Getpixel
- •Gettext
- •Gettextinfo
- •Gettextsettings
- •Gettime
- •Getvect
- •Getverify
- •Getviewsettings
- •Graphdefaults
- •Grapherrormsg
- •_Graphfreemem
- •_Graphgetmem
- •Graphresult
- •Harderr
- •Hardresume
- •Hardretn
- •Highvideo
- •Imagesize
- •Initgraph
- •Inportb
- •Insline
- •Installuserdriver
- •Installuserfont
- •Intdosx
- •Isalnum
- •Isalpha
- •Isascii
- •Iscntrl
- •Isdigit
- •Isgraph
- •Islower
- •Isprint
- •Ispunch
- •Isspace
- •Isupper
- •Isxdigit
- •Linerel
- •Loсaltime
- •Longjmp
- •Lowvideo
- •Lsearch
- •_Matherr
- •Matherr
- •Memccpy
- •Memicmp
- •Memmove
- •Movedata
- •Moverel
- •Movetext
- •Normvideo
- •Nosound
- •Outport
- •Outportb
- •Outtext
- •Outtextxy
- •Parsfnm
- •Pieslice
- •Putchar
- •Putimage
- •Putpixel
- •Puttext
- •Randbrd
- •Randbwr
- •Randomize
- •Realloc
- •Rectangle
- •Registerbgidriver
- •Registerbgifont
- •Restorecrtmode
- •Searchpath
- •Segread
- •Setactivepage
- •Setallpalette
- •Setaspectratio
- •Setbkcolor
- •Setblock
- •Setcbrk
- •Setcolor
- •Setdate
- •Setdisk
- •Setfillpattern
- •Setfillstyle
- •Setftime
- •Setgraphbufsize
- •Setgraphmode
- •Setlinestyle
- •Setmode
- •Setpalette
- •Setrgbpalette
- •Settextjustify
- •Settextstyle
- •Settime
- •Setusercharsize
- •Setvbuf
- •Setvect
- •Setverify
- •Setviewport
- •Setvisualpage
- •Setwritemode
- •Spawn...
- •Sprintf
- •_Status87
- •Strcmpi
- •Strcspn
- •_Strerror
- •Strerror
- •Stricmp
- •Strncat
- •Strncmp
- •Strncmpi
- •Strncpy
- •Strnicmp
- •Strnset
- •Strpbrk
- •Strrchr
- •Strtoul
- •Textattr
- •Textbackground
- •Textcolor
- •Textheight
- •Textmode
- •Textwidht
- •Tmpfile
- •Toascii
- •_Tolower
- •Tolower
- •_Toupper
- •Toupper
- •Ungetch
- •Unixtodos
- •Vfprintf
- •Vfscanf
- •Vprintf
- •Vsprintf
- •Vsscanf
Environ
-----------------------------------------------------------------
НазначениеОбеспечивает доступ к переменным среды DOS.
Синтаксисextern char *environ [];
Объявлена вdos.h
Замечанияenviron - это массив указателей на строки, который используется для доступа и модификации переменных среды процесса. Каждая строка имеет вид:
envvar = varvalue,
где envvar - имя переменной среды (например PATH), а varvalue - значение (строка), в которое установлена envvar (например C:\BIN; C:\DOS). Строка varvalue может быть пустой.
Когда программа начинает выполняться, установленное состояние среды DOS передается непосредственно в программу. Заметим, что envp (третий аргумент функции main) равен начальному значению environ.
Доступ к массиву environ можно получить с помощью подпрогрммы getenv. Однако единственной подпрограммой, которая может использоваться для добавления, изменения или уничтожения элементов массива environ, является функция putenv, поскольку модификация массива среды процесса может изменить его размеры и размещение. (При этом environ всегда также соответственно изменяется.)
-----------------------------------------------------------------
Errno, _doserrno, sys_errlist, sys_nerr
-----------------------------------------------------------------
НазначениеПозволяют функции perror печатать сообщения об ошибках.
Использование extern int errno; extern int _doserrno; extern char *sys_errlist[]; extern int sys _nerr;
Объявлены в errno.h, stdlib.h (errno,_doserrno,sys_errlist, sys_nerr) dos.h (_doserrno)
Замечанияerrno,sys_errlistиsys_nerrиспользуются функцией perror для печати сообщений об ошибках, когда какие-либо библиотечные функции по тем или иным причинам не могут выполнить поставленные задачи. _doserrno - переменная, которая содержит большинство кодов ошибок DOS, используемых переменной errno (однако perror непосредственно _doserrno никогда не использует).
_doserrno: в случае любой системной ошибки или сбоя этой переменной присваивается код ошибки DOS. Переменная errno используется параллельно ей (подобно тому, как это осуществляется в UNIX - системах).
errno: когда в системе происходит сбой или случается ошибка, в errno устанавливается индикатор типа ошибки. Иногда значения errno и _doserrno эквивалентны. Но переменная errno не содержит текущие коды ошибок DOS, которые содержит _doserrno. В то же время ряд ошибок фиксируется только в errno.
sys_errlist: позволяет управлять форматом сообщения об ошибке. Массив строк сообщений содержится именно в sys_errlist. Переменная errno может быть использована для индексирования этого массива с целью поиска строки массива, соответствующего номеру (коду) ошибки. Строки массива не содержат ни одного символа перевода строки.
sys_nerr: определена как количество строк сообщений об ошибках в массиве sys_errlist.
Приведенная ниже таблица позволяет получить информацию о мнемонике значений, хранимых в sys_errlist, и их содержании.
Мнемоника Содержание
E2BIG Список аргументов слишком длинный
EACCES Доступ невозможен
EBADF Неверный номер файла
ECONTR Разрушены блоки памяти
ECURDIR Попытка переместить
CurDir EDOM Ошибка области определения
EEXIST Файл уже существует
EINVACC Неправильный код доступа
EINVAL Неправильный аргумент
EINVDAT Неправильные данные
EINVDRV Неправильно специфицировано устройство
EINVENV Неправильная среда
EINVFMT Неправильный формат
EINVFNC Неправильный номер функции
EINVMEM Неправильная адресация блока памяти
EMFILE Слишком много открытых файлов
ENMFILE Нет больше файлов
ENODEV Нет такого устройства
ENOENT Нет такого файла или каталога
ENOEXEC Ошибка в формате загрузочного модуля
ENOFILE Нет такого файла или каталога
ENOMEM Не хватает оперативной памяти
ENOPATH Маршрут доступа не найден
ENOTSAM Разные (несовместимые) устройства
ERANGE Результат превышает область допустимых значений (разрядную сетку)
EXDEV Перекрестная ссылка на устройства (клинч)
EZER0 Ошибка 0
Ниже приведен список фактических мнемонических кодов текущих ошибок DOS, которые может содержать _doserrno (эти значения могут, но, возможно, и не могут, быть сопоставлены - через переменную errno - строкам сообщений об ошибках из массива sys-errlist).
Мнемоника Код ошибки DOS
EINVAL Неправильная функция
E2BIG Неправильная среда
EACCES Доступ невозможен
EACCES Неправильный доступ
EACCES Этот каталог является текущим
EBADF Неверная операция
EFAULT Зарезервирован
EINVAL Неправильные данные
EMFILE Слишком много открытых файлов
ENOENT Нет такого файла или каталога
ENOEXEC Ошибка в формате загрузочного модуля
ENOMEM Блок памяти mcb разрушен
ENOMEM Не хватает памяти
ENOMEN Плохой блок памяти
EXDEV Неправильное устройство
EXDEV Различные (несовместимые) устройства
Для получения более полной информации о кодах ошибок DOS обратитесь к "Руководству программиста MS-DOS" фирмы Microsoft.
-----------------------------------------------------------------
_fmode
-----------------------------------------------------------------
НазначениеОпределяет режим обработки файла по умолчанию.
Синтаксисextern unsigned _fmode;
Объявлена вfcntl.h
Замечания_fmode определяет, с каким признаком (текстовый или двоичный) файл будет открыт и обработан. По умолчанию значение _fmode есть O_TEXT, означающее, что файл будет прочитан как текстовый. Если значение _fmode есть O_BINARY, файл будет открыт и прочитан как двоичный (значения O_TEXT и O_BINARY определены в fcntl.h).
В текстовом виде при вводе комбинация символов CR/LF (возврат каретки/перевод строки) преобразуется в один символ перевода строки (LF).
При выводе из файла осуществляется обратное действие: символы LF преобразуются в комбинации CR/LF. В двоичном виде такое преобразование не производится.
Вы можете изменить установленный по умолчанию тип файла, задавая для _fmode значение t (текстовый) или b (двоичный) с помощью аргумента type в библиотечных подпрограммах fopen, fdopen и freopen. В подпрограмме open имеется также аргумент access, который может принимать как значение O_BINARY, так и значение O_TEXT. С помощью этого аргумента можно явно определять тип открываемого файла (сам файл определяется аргументом pathname подпрограммы open) - текстовый либо двоичный.
-----------------------------------------------------------------