- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (dos, 8086, bios)
- •Подпрограммы манипулирования (строками, памятью)
- •Математические подпрограммы
- •Подпрограммы распределения памяти
- •Прочие подпрограммы
- •Подпрограммы управления процессами
- •Cтандартные подпрограммы
- •Подпрограммы отображения текста в окнах
- •Подпрограммы работы со временем и датой
- •Подпрограммы с переменным списком аргументов
- •Daylight
- •Directvideo
- •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
Bsearch
-----------------------------------------------------------------
Назначение Бинарный поиск.
Синтаксис #include<stdlib.h>
void *bsearch(const void *key, const void
*base, size_t nelem, size_t width,
int (*femp)(const void *, const void *));
Прототип в stdlib.h
Замечания Функция предназначена для поиска массива из
nelem элементов в памяти и возвращает адрес
первого появления в памяти такого массива дан-
ных. В случае, если массив не найден, функция
возвращает 0.
Тип size_t, описанный с помощью typedef, ин-
терпретируется как беззнаковое целое.
- nelem задает число элементов таблицы
- width определяет число байтов в каждом
элементе таблицы.
Функция сравнения *femp вызывается с двумя ар-
гументами - elem1 и elem2. Каждый из этих аргу-
ментов указывает на элемент сравнения.
Функция сравнения сравнивает эти элементы и
возвращает целое число, базирующееся на резуль-
тате сравнения.
В bsearch
---------
Если ключ поиска fcmp возвращает
больше чем *elem целое <0
равен *elem 0
меньше чем *elem целое >0
Обычно elem1 соответствует аргументу key, а
elem2 является указателем на элемент просматри-
ваемой таблицы.
Возвращаемое Эта функция возвращает адрес первого элемента
значение таблицы, удовлетворяющего ключу поиска. Если
такой элемент не найден, то bsearch возвращает
0.
Переносимость Доступна в UNIX - системах и совместима с ANSI
Си.
Смотри также lfind, lsearch, qsort
Пример
#include<stdio.h>
#include<stdlib.h>
#define NELEMS (arr) (sizeof(arr)/sizeof
(arr[0]))
int numarray[]={123,145,512,627,800,993};
int numeric(int *p1,int *p2)
{
return(*p1 = *p2)
}
/* Возврат 1, если ключ в таблице, 0 - в
противном случае */
int lookup(int key)
{
int *itemptr;
/* bsearch() возвращает указатель на
найденный элемент */
itemptr=(int*) bsearch (&key,numarray,
NELEMS(numarray), sizeof(int),numeric);
return(itemptr != NULL);
}
main()
{
printf("Есть 512 в таблице ? ");
printf("%s\n",lookup(512) ? "ДА":"НЕТ");
}
Результат выполнения программы
Есть 512 в таблице? ДА
----------------------------------------------------------------
cabs
----------------------------------------------------------------
Назначение Вычисление абсолютного значения комплексного
аргумента.
Синтаксис #include<math.h>
double cabs(struct complex znum);
Прототип в stdlib.h
Замечания cabs - макрос, вычисляющий абсолютное значение
znum - комплексного числа. znum является струк-
турой типа complex, которая определена в math.h
как:
struct complex {
double x, y;
};
где x - реальная часть числа, а y - мнимая.
Вызов cabs эквивалентен
sqrt ( znum.x*znum.x + znum.y*znum.y )
Если вы не включите math.h (или если вы включи-
те его, но опишите #undef cabs), то получите
функцию cabs, а не макрос.
Возвращаемое cabs возвращает абсолютное значение znum, типа
значение double. При переполнении cabs возвращает
HUGE_VAL и устанавливает errno в
ERANGE Результат вне диапазона
Обработка ошибок для cabs может быть модифици-
рована с помощью функции matherr.
Переносимость Доступна в операционной системе UNIX.
Смотри также abs, fabs, labs, matherr
----------------------------------------------------------------
calloc
----------------------------------------------------------------
Назначение Выделение основной памяти.
Синтаксис #include<stdlib.h>
void *calloc(size_t nelem, size_t size);
Прототип в stdlib.h и alloc.h
Замечания Эта функция обеспечивает распределение памяти
типа "куча". Память доступна для динамического
размещения путем создания блоков памяти различ-
ного размера. Многие структуры данных, такие,
как деревья и списки, естественно, используют
размещение памяти в виде "кучи".
Все пространство между концом сегмента данных и
вершиной программного стека в малых моделях па-
мяти доступно для использования, кроме 256 байт
непосредственно перед вершиной стека. Эта па-
мять используется для возможности увеличения
стека и, кроме того, небольшое количество памя-
ти используется для нужд MS-DOS.
В больших моделях памяти все пространство от
программного стека до конца физической памяти
является "кучей".
calloc размещает блок размером nelem*size. Блок
заполняется нулями.
Возвращаемое Функция calloc возвращает указатель на заново
значение размещенный блок. Если для размещаемого блока
недостаточно памяти и size или nelem равны 0,
функция возвращает NULL.
Переносимость Функция calloc доступна на UNIX-cистемах, сов-
местима с ANSI Си и определена Керниганом и
Ритчи.
Сммотри также farcalloc, free, malloc, realloc
-----------------------------------------------------------------
ceil
-----------------------------------------------------------------
Назначение Округление значения аргумента сверху.
Синтаксис #include<math.h>
double ceil (double x)
Прототип в math.h
Замечания ceil находит наименьшее целое, не меньшее, чем
х.
Возвращаемое Функция ceil возвращает найденные целые (типа
значение double)
Переносимость Доступна в системах UNIX и совместима с ANSI
Си.
Смотри также floor, fmod
----------------------------------------------------------------
сgets
----------------------------------------------------------------
Назначение Чтение строки с консоли.
Синтаксис char *cgets(char *string)
Прототип в conio.h
Замечания cgets читает строку символов с консоли и запо-
минает строку и ее длину в области, на которую
указывает string.
cgets читает символы, пока не обнаружит комби-
нации CR/LF или пока не будет прочитано макси-
мальное количество символов. Комбинацию CR/LF
cgets заменяет на \0.
Перед вызовом cgets в string[0] необходимо ус-
тановить максимальную длину строки. После вы-
полнения cgets в string[1] содержится число
действительно прочитанных символов. Прочитанные
символы начинаются со string[2] и заканчиваются
нулем. Таким образом, строка должна иметь длину
не меньше чем string[0]+2 байт.
Возвращаемое cgets возвращает &string[2] - указатель на
значение строку символов, которая была прочитана. Ошибки
не выдает.
Переносимость Данная функция работает только на IBM PC и сов-
местимых моделях при наличии соответствующих
графических адаптеров.
Смотри также fgets, gettch, getche, gets
Пример
#include<stdio.h>
#include<conio.h>
main()
{
char buffer[82];
char *p;
buffer[0] = 80;
p = cgets(buffer);
printf("\nсgets получила %d символов"
" : %s\n",buffer[1],p);
printf("возвращен указатель - %p,\n адрес"
"buffer[2] - %p\n", p, &buffer[2]);
buffer[0] = 5;
p = cgets(buffer);
printf("сgets получила %d символов :"
"%s\n",buffer[1],p);
printf("возвращен указатель - %p, адрес"
" buffer[2] - %p\n", p, &buffer[2]);
}
Результат выполнения программы
abcdfghijklm
cgets получила 12 символов :"abcdfghijklm"
возвращен указатель - FEF6,
адрес buffer[2] - FEF6
abcd
cgets получила 4 символов :"abcd"
возвращен указатель - FEF6,
адрес buffer[2] - FEF6
----------------------------------------------------------------
chdir
----------------------------------------------------------------
Назначение Изменяет рабочий каталог.
Синтаксис int chdir (const char *path)
Прототип в dir.h
Замечания chdir - меняет текущий рабочий каталог на
каталог, заданный в path. path дол-
жен задавать существующий каталог.
Дисковод также можно задавать в аргументе path,
например:
chdir("a:\\turboc") или chdir("a:/turboc")
Возвращаемое При успешном завершении, chdir возвращает
значение значение 0. В противном случае возвращается
значение -1 и errno устанавливается на
ENOENT Маршрут или имя файла не найдено
Переносимость chdir доступно в UNIX системах.
Смотри также getcurdir, getcwd, mkdir, rmdir, system
-----------------------------------------------------------------
_chmod
-----------------------------------------------------------------
Назначение Изменяет режим доступа к файлу.
Синтаксис int _chmod(const char *path,int func[, int
attrib]);
Прототип в io.h
Замечания Функция _chmod возвращает или устанавливает
атрибуты файла в MS_DOS. Если func равно 0, то
функция возвращает текущие MS_DOS атрибуты фай-
ла. Если func равно 1, то атрибуты устанавлива-
ются в соответствии с attrib. attrib может быть
одной из следующих символьных констант (опреде-
ленных в dos.h):
FA_RDONLY только чтение
FA_HIDDEN скрытый файл
FA_SYSTEM системный файл
Возвращаемое При успешном завершении _chmod возвращает сло-
значение во, соответствующее атрибуту файла; в противном
случае возвращается -1. В случае ошибки errno
устанавливается в одно из следующих значений:
ENOENT Маршрут или имя файла не найден.
EACCES Доступ запрещен.
Переносимость _chmod уникальна для MSDOS.
Смотри также chmod, create
-----------------------------------------------------------------
chmod
-----------------------------------------------------------------
Назначение Изменяет режим доступа к файлу.
Синтаксис #include<sys\stat.h>
int chmod (const char *filename, int permis);
Прототип в io.h
Замечания chmod устанавливает режим доступа к файлу в со-
ответствии с маской, задаваемой в permiss.
filename указывает на строку, именующую файл.
permiss может содержать одну или две символьные
константы S_IWRITE и S_IREAD (определенные в
sys\stat.h)
__________________________________________________
Значение permiss Доступ
__________________________________________________
S_IWRITE Разрешение на запись
S_IREAD Разрешение на чтение
S_IREAD|S_IWRITE Разрешение на чтение и
запись
___________________________________________________
Возвращаемое При успешном изменении режима доступа к файлу
значение chmod возвращает 0. В противном случае
возвращается -1.
В случае ошибки переменная errno устанавливает-
ся в одно из следующих значений:
ENOENT Маршрут или имя файла не найдено.
EACCES Доступ запрещен.
Переносимость chmod доступна в UNIX системах
Смотри также access, _chmod, fstat,open, sopen, stat
Пример
#include<stdio.h>
#include<sys\stat.h>
#include<io.h>
void make_read_only(char *filename)
{
int stat;
stat = chmod(filename, S_IREAD);
if(stat)
printf ("Не могу установить %s в 'только"
" чтение'\n", filename);
else
printf ("установлен режим в %s"
" 'только чтение'\n", filename);
}
main ()
{
make_read_only("NOTEXIST.FIL");
make_read_only("MYFILE.FIL");
}
Результат выполнения программы
Не могу установить NOTEXIST.FIL в 'только чтение'
Установлен режим в MYFILE.FIL 'только чтение'
-----------------------------------------------------------------
chsize
-----------------------------------------------------------------
Назначение Изменяет размер файла.
Синтаксис int chsize(int handle, long size);
Прототип в io.h
Замечания chsize изменяет размер файла, ассоциированного
с handle, в зависимости от аргумента size, по
сравнению с действительным размером файла. Файл
может быть укорочен или удлинен.
Режим, в котором вы открыли файл, должен допус-
кать запись.
При расширении файла chsize добавляет нулевые
символы (\0). При укорачивании файла все данные
вне маркера конца файла теряются.
Возвращаемое При успешном завершении chsize возвращает 0.
значение При ошибке возвращается -1 и errno устанавлива-
ется в одно из следующих значений:
EACCESS ошибка доступа
EBADF некорректный номер файла
ENOSPC UNIX - не DOS
Переносимость Уникальна для MS-DOS.
Смотри также close, _creat, creat, open
-----------------------------------------------------------------
circle
-----------------------------------------------------------------
Назначение Вычерчивает круг.
Синтаксис #include<graphics.h>
void far circle(int x, int y, int radius);
Прототип в graphics.h
Замечания circle чертит круг с центром в (x,y) и радиу-
сом, заданным в radius.
Замечание: при вычерчивании дуги, окружности,
эллипса и сектора для определения типа линии
используется параметр thickness а не linestyle.
Возвращаемое Нет.
значение
Переносимоcть Данная функция работает только на IBM PC и сов-
местимых моделях при наличии соответствующих
графических адаптеров.
Смотри также circle, ellipse, fillellipse, getarccoords,
sector
Пример Смотри arc
-----------------------------------------------------------------
