- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (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
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
-----------------------------------------------------------------