Описание функций Си

         

double value, int ndig, char



     gcvt
Функция Преобразует число с плавающей точкой в символьную строку.
Синтаксис #include
char * gcvt( double value, int ndig, char *buf);
Файл, содержащий stdlib.h прототип
Описание gcvt преобразует value в строку символов в коде ASCII, ограниченную нулем, и запоминает строку в buf. Если возможно, то она получает ndig значащих цифр в формате F Фортрана. В противном случае строка будет в формате E функции printf (ее сразу же можно печатать). Она может подавлять задние ну- ли.
Возвращаемое gcvt возвращает адрес строки. значение
Переносимость gvct поддерживается системой UNIX. Она не опреде- лена в стандарте ANSI C, и поэтому мы не рекомен- дуем использовать ее для переносимых программ.
Смотрите также
Пример:
#include
#include
int main(void) { char str[25]; double num; sig = 5;
num = 9.876; gcvt(num,sig,str); printf("Строка = %s\n",str); num = -123.45; gcvt(num,sig,str); printf("Строка = %s\n",str); num = 0.6789e5; gcvt(num,sig,str); printf("Строка = %s\n",str); return 0; }

Функция Генерирует программное



     geninterrupt
Функция Генерирует программное прерывание.
Синтаксис #include
void geninterrupt(int intr_num);


Файл, содержащий dos.h прототип
Описание Эта макрокоманда вызывает программное прерывание с номером, определяемым intr_num. Состояние регис- тров после вызова прерывания зависит от программы обработки этого прерывания.
Прерывание может сбросить регистры, используемые в Си, в непредсказуемое состояние.
Возвращаемое Нет. значение
Переносимость geninterrupt уникальна для 8086.
Смотрите также 6, 6
Пример:
#include
#include
void writechar(char ch);
int main(void) { clrscr(); gotoxy(80,25); writechar("*"); getch(); return 0; } /* Вывод символа в текущую позицию курсора */ /* использование функции BIOS для прокрутки экрана */ /* при выводе в позицию 80,25 */
void writechar(char ch) { struct text_info ti; gettextinfo(&ti); /* получить текущие установки */ _AH = 9; /* прерывание 10H, подфункция 9 */ _AL = ch; /* выводимый символ */ _BH = 0; /* страница */ _BL = ti.attribute /* атрибуты */ _CX = 1; /* фактор повторения */ geninterrupt(0x10); /* вывод символа */ }

Функция Выдает координаты последнего обращения



     getarccoords
Функция Выдает координаты последнего обращения к функции arc.
Синтаксис #include
void far getarccoords(struct arccoordstype far *arccoords);
Файл, содержащий graphics.h прототип
Описание getarccoords заполняет структуру arccoords- type, на которую указывает arccoords, информацией о последнем вызове arc. Структура arccordstype оп- ределена в graphics.h следующим образом:
struct arccoordstype{ int x, y; int xstart, ystart, xend, yend; };
Элементы этой структуры используются для определе- ния центра (x,y),начальной (xstart, ystart) и ко- нечной (xend,yend) позиций дуги.Эти значения могут быть использованы если необходимо , чтобы линии пересекались на конце дуги.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; struct srccoordstype arcinfo; int midx,midy; int stangle = 45,endangle = 270; char sstr[80],estr[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1));
/* рисует дугу */ arc(midx,midy,stangle,endangle,100); getarccoords((&arcinfo);
/* преобразование информации в строки */ sprintf(sstr,"*- (%d, %d)",arcinfo.xstart,arcinfo.ystart); sprintf(sstr,"*- (%d, %d)",arcinfo.xend,arcinfo.yend); /* вывести информацию на экран */ outtextxy(arcinfo.xstart,arcinfo.ystart,estr); outtextxy(arcinfo.xend,arcinfo.xend,estr);
/* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает текущее характеристическое отношение



     getaspectratio
Функция Возвращает текущее характеристическое отношение (отношение ширины изображения к его высоте) графи- ческого режима.
Синтаксис #include
void far getaspectratio( int far *xasp, int far *yasp);
Файл, содержащий graphics.h прототип
Описание Фактор y-аспекта, *yasp, нормализуется к 10 000; на всех графических адаптерах, кроме VGA, *xasp ( фактор y-аспекта) меньше *yasp, т.к. пик- сел больше в высоту,чем в ширину.На VGA,который имеет "квадратный" пиксел, *xasp равно *yasp. В целом, соотношение между *yasp и *xasp следующее:
*yasp = 10000 *xasp
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int xasp,yasp,midx,midy;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1));
/* получить текущее характеристическое отношение */ getaspectratio(&xasp,&yasp);
/* нарисовать нормальную окружность */ circle(midx,midy,100); getch();
/* нарисовать окружность, вытянутую в ширину */ cleardevice(); setaspectratio(xasp/2,yasp); circle(midx,midy,100); getch();
/* нарисовать окружность, вытянутую в длину */ cleardevice(); setaspectratio(xasp,yasp/2); circle(midx,midy,100); getch();
/* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает текущий цвет



     getbkcolor
Функция Возвращает текущий цвет фона.
Синтаксис #include
int far getbkcolor(void);
Файл, содержащий graphics.h прототип
Описание getbkcolor возвращает текущий цвет фона. (cмотри подробности в таблице под setbkcolor.)
Возвращаемое getbkcolor возвращает текущий цвет фона. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int bkcolor,midx,midy; char bkname[35];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1)); /* установить центрирование текста */ settextjustify(CENTER_TEXT,CENTER_TEXT); /* получить текущий цвет фона */ bkcolor = getbkcolor(); /* преобразовать его в строку */ itoa(bkcolor,bkname,10); strcat(bkname," - это текущий цвет фона"); /* вывести сообщение */ outtext(midx,midy,bkname); /* очистка */ getch(); closegraph(); return 0; }

Функция Вводит из потока



     getc
Функция Вводит из потока символ.
Синтаксис #include
int getc(FILE *stream);
Файл, содержащий stdio.h прототип
Описание Функция getc представляет собой макрокоманду, ко- торая получает следующий по порядку символ из входного потока stream и увеличивает указатель те- кущего положения в потоке на 1.
Возвращаемое При успешном завершении функция getc возвращает считанный символ после предварительного преобразо- вания его в целое без расширения знака. При воз- никновении ситуации EOF или при ошибке она возвра- щает EOF.
Переносимость Функция поддерживаются на системах UNIX, описаны Керниганом и Ритчи. Поддерживаются стандартом ANSI C.
Смотрите также
Пример:
#include
int main(void) { char ch; printf("Введите символ :"); /* ввести символ из стандартного входного потока stdin */ ch = getc(stdin); printf("Был введен символ '%c'\n",ch); return 0; }

Функция Получает параметры контроля над



     getcbrk
Функция Получает параметры контроля над прерыванием по Ctrl_Break.
Синтаксис #include
int getcbrk(void);
Файл, содержащий dos.h прототип
Описание Функция getcbrk использует системный вызов MS-DOS 0x33 для получения текущих параметров контроля над прерыванем Ctrl_Break.
Возвращаемое Функция getcbrk возвращает 0 если контроль над значение прерываниями выключен (off), и 1, если контроль включен (on).
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { if(getcbrk()) printf("Флаг Ctrl-Break включен\n"); else printf("Флаг Ctrl-Break выключен\n"); return 0; }

Функция Вводит символ



     getch
Функция Вводит символ с консоли без эхопечати.
Синтаксис #include
int getch(void);
Файл, содержащий conio.h прототип
Описание Функция getch читает один символ, непосредственно с консоли, без вывода его на экран.
Возвращаемое getch возвращает введенный с клавиатуры символ. значение
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { int c; int extended = 0; c = getch(); if(!c) extended = getch(); if(extended) printf("Расширенный символ\n"); else printf("Не расширенный символ\n"); return 0; }

Функция Вводит символ из потока



     getchar
Функция Вводит символ из потока stdin.
Синтаксис #include
int getchar(void);
Файл, содержащий stdio.h прототип
Описание getchar - это макрокоманда, вводящая сим- вол из потока stdin. Она определена следующим об- разом: getc(stdin).
Возвращаемое При успешном завершении функция getchar возвращает значение считанный символ после предварительного преобразо- вания его в целое без расширения знака. При воз- никновении ситуации EOF или при ошибке она возвра- щает EOF.
Переносимость Функция поддерживается на системах UNIX, описана Керниганом и Ритчи. Поддерживается стандартом ANSI C.
Смотрите также
Пример:
#include
int main(void) { char c; /* Замечание. getchar читает символы с stdin, который имеет буфер на одну строку. Поэтому она ничего не возвращает до тех пор, пока вы не нажмете Enter */ while((c=getchar())!='\n') printf("%c",c); return 0; }

и отображает его на



     getche
Функция Вводит символ с консоли и отображает его на экране.
Синтаксис #include
int getche(void);
Файл, содержащий conio.h прототип
Описание Функция getche считывает один символ с консоли и одновременно отображает его в текущем текстовом окне на экране, использую напрямую видео-память или BIOS.
Возвращаемое getche возвращает символ, введенный с клавиатуры. значение
Переносимость getche уникальна для DOS.
Смотрите также
Пример:
#include
int main(void) { char ch; printf("Введите символ:"); ch = getche(); printf("\n Вы ввели символ '%c'\n",ch); return 0; }

Функция Возвращает текущий цвет



     getcolor
Функция Возвращает текущий цвет рисунка.
Синтаксис #include
int far getcolor(void);
Файл, содержащий graphics.h прототип
Описание getcolor возвращает текущий цвет рисунка. Цвет рисования - это значение в которое устанав- ливаются пикселы, когда рисуются линии и т.д. Например, в режиме CGACO, палитра содержит 4 цве- та : цвет фона, светло зеленый, светло красный и желтый. В этом режиме, если getcolor возвращает 1, текущий цвет рисования - светло-зеленый.
Возвращаемое getcolor возвращает текущий цвет рисования. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int color,midx,midy; char colname[35];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx() / 2; midy = getmaxy() / 2; setcolor(getmaxcolor(1)); /* установить центрирование текста */ settextjustify(CENTER_TEXT,CENTER_TEXT); /* получить текущий цвет фона */ color = getcolor(); /* преобразовать его в строку */ itoa(color,colname,10); strcat(colname," - это текущий цвет рисования"); /* вывести сообщение */ outtext(midx,midy,colname); /* очистка */ getch(); closegraph(); return 0; }

Функция Получает текущую директорию для



     getcurdir
Функция Получает текущую директорию для указанного устройства.
Синтаксис #include
int getcurdir(int drive, char * direc);
Файл, содержащий dir.h прототип
Описание Функция getcurdir получает имя текущей директо- рии для указанного устройства drive.
Параметр drive содержит номер устройства (0= по умолчанию, 1=A, и т.д.)
Параметр direc указывает на область памяти длиной MAXDIR, где хранится имя директории. Имя директо- рии - символьная строка с нулевым окончанием- не содержит спецификации устройства и не начинается на обратный слэш (\).
Возвращаемое Функция getcurdir возвращает 0 при успешном завер- значение шении и -1 при возникновении ошибки.
Переносимость Функция уникальна для DOS.
Смотрите также
getcwd
Функция Получает текущую рабочую директорию.
Синтаксис #include
char * getcwd(char * buf, int buflen);
Файл, содержащий dir.h прототип
Описание Функция getcwd получает полное имя маршрута для текущей рабочей директории (cwd), включая специ- фикацию устройства, до buflen байтов длиной и за- поминает его в переменной buf. Если длина полного имени маршрута (включая нулевое окончание) длин- нее buflen, вырабатывается ошибка.
Если параметр buf имеет значение NULL, буфер дли- ной n байтов будет выделен вам с помощью malloc. Затем вы можете освободить выделенный буфер, пе- редав значение, полученное функцией getcwd - фун- кции free.
Возвращаемое Функция getcwd возвращает параметр buf, в случае значение ошибки возвращается значение NULL.
Кроме того, если произошла ошибка, глобальная пе- ременная errno получает одно из следующих значе- ний:
ENODEV - нет такого устройства; ENOMEM - не хватает памяти; ERANGE - результат превышает допустимый порог.
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { char buffer[MAXPATH]; getcwd(buffer,MAXPATH); printf("Текущая директория: %s\n",buffer); return 0; }

Функция Получает системную



     getdate
Функция Получает системную дату.
Синтаксис #include
void getdate(struct date * datep);
Файл, содержащий dos.h прототип
Описание Функция getdate заполняет структуру date (с указателем datep) системной информацией о текущей дате.
Структура date определяется следующим образом:
struct date { int da_year; /* текущий год */ char da_day; /* день месяца */ char da_mon; /* месяц (1= янв.) */ };
Возвращаемое Нет. значение
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { struct date d; getdate(&d); printf("Год :%d\n",d.da_year); printf("Месяц:%d\n",d.da_mon); printf("День:%d\n",d.da_day); return 0; }

Функция Возвращает структуру определения



     getdefaultplatte
Функция Возвращает структуру определения палитры.
Синтаксис #include
struct palettetype *far getdefaultpalette(void);
Файл, содержащий graphics.h прототип
Описание getdefaultpalette находит структуру palettetype, которая содержит палитру, первона- чально установленную драйвером во время выполне- ния initgraph.
Возвращаемое getdefaultpalette возвращает указатель на значение палитру, установленную по умолчанию теку- щим драйвером во время инициализации этого драй- вера.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; /* указатель на структуру описания политры */ struct palettetype far *ptr = NULL; int i;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } /* получить указатель на структуру */ ptr = getdefaultpalette(); for(i=0;isize;i++); { printf("цвета[%d] = %d\n",i,ptr->colors[i]); getch(); } /* очистка */ getch(); closegraph(); return 0; }

о наличии свободного места на



     getdfree
Функция Получает информацию о наличии свободного места на диске.
Синтаксис #include
void getdfree(unsigned char drive, struct dfree *dtable);
Файл, содержащий dos.h прототип
Описание Функция getdfree просматривает устройство, задава- емое параметром drive (0= по умолчанию, 1=A, и т. д.) и заполняет структуру dfree с адресным указа- телем dtable характеристиками соответствующего диска.
Структура dfree описывается следующим образом:
struct dfree { unsigned df_avail; /* свободные кластеры */ unsigned df_total; /* общее количество клас- теров */ unsigned df_bsec; /* байтов на сектор */ unsigned df_sclus; /* секторов на кластер */ };
Возвращаемое Функция getdfree не возвращает никакого значения. значение В случае ошибки параметру df_sclus в структуре dfree присваивается значение 0xFFFF.
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { struct dfree free; long avail; int drive; drive = getdisk(); getdfree(dreve+1,&free); if(free.df_clus == 0xFFFF) { printf("Ошибка getdfree\n"); exit(1); } avail = (long) free.df_avail * (long) free.df_bsec * (long) free.df_sclus; printf("На диске %c имеется %ld свободных байт\n",'A'+drive,avail); return 0; }

Функция Получает номер текущего



     getdisk
Функция Получает номер текущего устройства.
Синтаксис #include
int getdisk(void);
Файл, содержащий dir.h прототип
Описание Функция getdisk получает номер текущего устройства и возвращает целое число : 0=A:; 1=B:; 2=C:; и т.д. (эквивалентна системному вызову DOS 0x19).
Возвращаемое Функция getdisk возвращает номер текущего значение устройства.
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { int disk; disk = getdisk()+'A'; printf("Текущий дисковод: %c\n",disk); return 0; }

Функция Возвращает указатель на строку,



     getdrivername
Функция Возвращает указатель на строку, содержащую имя текущего графического драйвера.
Синтаксис #include
char *far getdrivername(void)
Файл, содержащий graphics.h прототип
Описание После вызова initgraph, getdrivername воз- вращает имя драйвера, который загружен в данный момент.
Возвращаемое getdrivername возвращает указатель на стро- значение ку, которая содержит имя текущего драйвера.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; /* указатель на имя драйвера */ char *drivername;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } setcolor(getmaxcolor()); /* получить имя текущего используемого драйвера */ drivername = getdrivername(); /* установить выравнивание текста */ settextjustify(CENTER_TEXT,CENTER_TEXT); /* вывести имя драйвера */ outtextxy(getmaxx()/2,getmaxy()/2,drivername); /* очистка */ getch(); closegraph(); return 0; }

Функция Получает адрес DTA



     getdta
Функция Получает адрес DTA (область связи с диском).
Синтаксис #include
char far * getdta(void);
Файл, содержащий dos.h прототип
Описание Функция getdta возвращает текущее значение адреса DTA. В малых и средних моделях памяти предполага- ется, что сегментом является текущий сегмент дан- ных. Если вы используете исключительно язык CИ, то эта ситуация сохраняется, если же вы будете использовать подпрограммы на Ассемблере, адрес DTA может оказаться в любом месте.
В компактных, больших и сверхбольших моделях па- мяти адрес, возвращаемый функцией getdta, являет- ся реально любым адресом и может быть расположен за пределами программы.
Возвращаемое Функция getdta возвращает "дальний" указатель на значение текущую DTA.
Переносимость Функция уникальна для DOS.
Смотрите также (структура),
Пример:
#include
#include
int main(void) { char far *dta; dta = getdta(); printf("Адрес области связи с диском: %Fp\n",dta); return 0; }

Функция Получает символьную строку, содержащую



     getenv
Функция Получает символьную строку, содержащую параметры операционной среды.
Синтаксис #include
char *getenv(const char *name);
Файл, содержащий stdlib.h прототип
Описание Функция getenv возвращает значение указанной пере- менной операционной среды. Имя переменной может быть задано символами как верхнего так и нижнего регистра, но оно должно включать символ равно (=). Если указанная переменная не определена, то функция возвращает пустую строку.
Возвращаемое При успешном завершении функция getenv возвращает значение указатель на значение, соответствующее name. Если заданная переменная name не определена, фун- кция getenv возвращает пустую строку.
Примечание. Элементы окружения нельзя изменять непосредственно. Если вы хотите изменить значение переменной окружения, необходимо воспользоваться функцией putenv.
Переносимость Функции поддерживаются на системах UNIX и стандар- том ANSI C.
Смотрите также ,
Пример:
#include
#include
int main(void) { char *s; s = getenv("COMSPEC"); /* получить параметр среды */ printf("Командный процессор находится: %s\n",s); return 0; }

Функция Получает информацию из таблицы



     getfat
Функция Получает информацию из таблицы размещения файлов указанного дисковода.
Синтаксис #include
void getfat(unsigned char drive, struct fatinfo *dtable);
Файл, содержащий dos.h прототип
Описание Функция getfat возвращает информацию из таблицы размещения файлов согласно спецификации устройст- ва, заданной в параметре drive(0 = по умолчанию, 1=A:; 2=B:; и т.д.). Указатель dtable является адресом структуры fatinfo, которая заполняется информацией из таблицы.
Структура fatinfo, заполняемая функцией getfat описывается следующим образом:
struct fatinfo { char fi_sclus; /* секторов на кластер */ char fi_fatid; /* байт идентификации таблицы FAT (таблицы размещения файлов) int fi_nclus; /* количество кластеров */ int fi_busec; /* количество байтов в секто- ре */ };
Возвращаемое Отсутствует. значение
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
#include
int main(void) { struct fatinfo diskinfo; int flag = 0; printf("Вставте дискету в дисковод 'A'\n"); getch(); getfat(1,&diskinfo); /* получение инф-ции о дисководе */ printf("Дисковод A:"); switch((unsigned char)diskinfo.fatid) { case 0xFD: printf("360 Кбайт, одинарной плотности\n"); break; case 0xF9: printf("5 1/4'' - 1.2 Mбайт или 3 1/2''- 720 Кбайт"); break; case 0xF0: printf("3 1/2 - 1.44Мбайт\n"); break; default: printf("Неформатирован\n"); flag = 1; } if(!flag) { printf("Секторов на кластер: %5d\n",diskinfo.fi_sclus); printf("Количество кластеров: %5d\n",diskinfo.fi_nclus); printf("Байт на сектор: %5d\n",diskinfo.fi_bysec); } return 0; }

Функция Получает информацию из таблицы



     getfatd
Функция Получает информацию из таблицы размещения файлов.
Синтаксис #include
void getfatd(struct fatinfo *dtable);
Файл, содержащий dos.h прототип
Описание Функция getfatd возвращает информацию из таблицы размещения файлов дисковода, используемого по умолчанию. Указатель dtable является адресом структуры fatinfo, которая заполняется информаци- ей из таблицы.
Структура fatinfo, заполняемая функцией getfat, описывается следующим образом:
struct fatinfo { char fi_sclus; /* секторов на кластер */ char fi_fatid; /* байт идентификации таблицы FAT (таблицы размещения файлов) int fi_nclus; /* количество кластеров */ int fi_busec; /* количество байтов в секто- ре */ };
Возвращаемое Отсутствует. значение
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { struct fatinfo diskoinfo; getfatd(&diskinfo); /* получить информацию о дисководе */ printf("Дисковод по умолчанию:"); printf("Секторов на кластер: %5d\n",diskinfo.fi_sclus); printf("байт FAT ID: %5X\n",diskinfo.fi_fatid & 0xFF); printf("Количество кластеров: %5d\n",diskinfo.fi_nclus); printf("Байт на сектор: %5d\n",diskinfo.fi_bysec); return 0; }

в память определенный пользователем шаблон



     getfillpattern
Функция Копирует в память определенный пользователем шаблон заполнения.
Синтаксис #include
void far getfillpattern(char far *pattern);
Файл, содержащий graphics.h прототип
Описание getfillpattern копирует шаблон заполнеия, определенный пользователем и установленный с по- мощью setfillpattern, в 8-битную область, на ко- торую указывает pattern. pattern - это указатель на последовательность из 8 байт, где каждый байт соответствует 8 пикселям шаблона. Всякий раз, когда бит устанавливается в 1, соответствующий пиксель отображается на экране. Например, следую- щий определенный пользователем образец приведет к поклеточному рисунку:
char checkboard[8] = { 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55 };
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int maxx,maxy; char pattern[8] = {0x00,0x70,0x20,0x27,0x25,0x27,0x04,0x04);
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } maxx = getmaxx(); maxy = getmaxy(); setcolor(getmaxcolor()); /* выбрать пользовательский шаблон */ setfillpattern(pattern,getmaxcolor()); /* заполнить экран с помощью этого шаблона */ bar (0,0,maxx,maxy); getch(); /* получить текущий шаблон */ getfillpattern(pattern); /* изменить его */ pattern[4] -= 1; pattern[5] -= 2; pattern[6] -= 3; pattern[7] -= 4; /* установить новый шаблон */ setfillpattern(pattern,getmaxcolor()); /* заполнить им экран */ bar(0,0,maxx,maxy); /* очистка */ getch(); closegraph(); return 0; }

Функция Получает информацию



     getfillsettings
Функция Получает информацию о текущем шаблоне и цвете заполнения.
Синтаксис #include
void far getfillsettings(struct fillsettingstype far *fillinfo);
Файл, содержащий graphics.h прототип
Описание getfillsettings заполняет структуру fillsettingstype, на которую указывает fillinfo информацией о текущем шаблоне и цвете заполнения. fillsettingstype определяется в graphics.h следу- ющим образом:
struct fillsettingstype{ int pattern; /* текущий шаблон заполнения */ int color; /* текущий цвет заполнения */ };
Функции bar, bar3d, fillpoly, floodfill и pieslice целиком заполняют область текущим шабло- ном заполнения в текущем цвете заполнения. Сущес- твует 11 видов шаблонов заполнения (сплошное, крестообразное, точечное и т. д.) Символические имена для встроенных шаблонов обеспечиваются пе- речисляемым типом fill_patterns в graphics.h. (смотри таблицу, приведенную ниже). Кроме этого, вы можете определить свои собственные шаблоны.
Если pattern равен 12 (USER_FILL), то в данное время используется шаблон, определяемый пользова- телем; в противном случае pattern задает номер встроенного шаблона. Перечисляемый тип fill_patterns, заданный в graphics.h задает имя встроенного шаблона заполнения и индикатор для шаблона, определяемого пользователем.
имя значение описание
EMPTY_FILL 0 заполнение цветом фона SOLID_FILL 1 сплошное заполнение цветом заполнения LINE_FILL 2 заполнение ______ LSTLASH_FILL 3 заполнение ////// SLASH_FILL 4 заполнение /// толстой линией BKSLASH_FILL 5 заполнение \\\ толстой линией LTBKSLASH_FILL 6 заполнение \\\\ HATCH_FILL 7 светлая штриховка сеткой XHATCH_FILL 8 крестообразная штриховка INTERLEAVE_FILL 9 тканеобразная штриховка WIDE_DOT_FILL 10 заполнение редкими точками CLOSE_DOT_FILL 11 заполнение частыми точками USER_FILL 12 шаблон заполнения, определяемый пользователем
Все, кроме EMPTY_FILL заполняют текущим цветом заполнения; EMPTY_FILL использует текущий цвет фона.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.


Смотрите также
Пример:
#include
#include
#include
#include
/* имена поддерживаемых типов заполнения */ char *fname[] = {"EMPTY_FILL", "SOLID_FILL", "LINE_FILL", "LSTLASH_FILL", "SLASH_FILL", "BKSLASH_FILL", "LTBKSLASH_FILL", "HATCH_FILL", "XHATCH_FILL", "INTERLEAVE_FILL", "WIDE_DOT_FILL", "CLOSE_DOT_FILL", "USER_FILL" };
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; struct fillsettingstype fillinfo; int maxx,maxy; char patstr[40],colstr[40];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } maxx = getmaxx()/2; maxy = getmaxy()/2; /* получить информацию о текущем шаблоне и цвете */ getfillsettings(*fillinfo); /* преобразовать в строку */ sprintf(patstr,"Тип заполнения :%s.",fname[fillinfo.pattern]); sprintf(colstr,"Цвет :%d",fillinfo.color); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,patstr); outtextxy(midx,midy+2*textheight("W"),colstr); /* очистка */ getch(); closegraph(); return 0; }

и время создания или последней



     getftime
Функция Получает дату и время создания или последней модификации файла.
Синтаксис #include
int getftime(int handle, struct ftime * ftimep);
Файл, содержащий io.h прототип
Описание Функция getftime выдает время и дату создания для файла, соответствующего параметру handle, полу- ченному при открытии файла. Структура ftime с ад- ресным указателем ftimep заполняется данными о времени создания файла.
Структура ftime описывается следующим образом:
struct ftime { unsigned ft_tsec:5; /* две секунды */ unsigned ft_min:6; /* минуты */ unsigned ft_hour:5; /* часы */ unsigned ft_day:5; /* день */ unsigned ft_month:4; /* месяц */ unsigned ft_year:7; /* год-1980 */ }
Возвращаемое При успешном завершении возвращает 0. Если произошла значение ошибка, возвращается значение -1 и глобальной пере- менной errno присваивается значение одной из сле- дующих констант:
EINVFNC - Неверный номер функции. EBADF - Неверный номер файла.
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main() { FILE *stream; struct ftime ft; if((stream = fopen("TEST.$$$","wt"))== NULL) { fprintf(stderr,"Не могу открыть файл\n"); return 1; } getftime(fileno(stream),&ft); printf("Время модификации файла:%02u:%02u,%02u\n", ft.ft_hour,ft.ft_min,ft.ft_tsec/2); printf("Дата: %02u%02u%04u\n",ft.ft_month,ft.ft_day, ft.ft_year+1980); return 0; }

Функция Возвращает текущий графический



     getgraphmode
Функция Возвращает текущий графический режим.
Синтаксис #include
int far getgraphmode(void)
Файл, содержащий graphics.h прототип
Описание Ваша программа должна успешно выполнить вызов initgraph до вызова getgraphmode. Перечис- ляемый тип graphics_mode, определенный в graphics.h задает имена встроенных графических режимов. Для ознакомления с таблицей,отображающей эти значения, следует обратиться к описанию initgraph.
Возвращаемое getgraphmode возвращает графический режим, значение установленный integraph или setgraphmode.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy,mode; char numname[80],modename[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить код режима */ mode = getgraphmode(); sprintf(numname,"Номер режима: %d",mode); sprintf(modename,"Текущий графический режим: %s\n",getmodename(mode)); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,numname); outtextxy(midx,midy+2*textheight("W"),modename); /* очистка */ getch(); closegraph(); return 0; }

в битовый образ некоторой области



     getimage
Функция Запоминает в битовый образ некоторой области эк- рана.
Синтаксис #include
void far getimage(int left, int top, int right,int bottom, void far *bitmap);
Файл, содержащий graphics.h прототип
Описание getimage копирует образ c экрана в память. left, top, right и bottom определяют область эк- рана прямоугольной формы, которая будет скопиро- вана. bitmap указывает на область в памяти, куда записывается битовый образ. Первые два слова этой области задают ширину и высоту прямоугольника, оставшиеся определяют сам образ.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
#include
void save_screen(void far *buf[4]); void restore_screen(void far *buf[4]); int maxx,maxy;
int main(void) { int graphdriver = DETECT, gmode, errorcode; void far *ptr[4];
/* автоматическое определение драйвера и режима */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } maxx = getmaxx(); maxy = getmaxy(); /* нарисовать на экране изображение */ rectangle(0,0,maxx,maxy); line(0,0,maxx,maxy); line(0,maxx,maxy,0) save_screen(ptr); /* сохранить экран */ getch(); /* пауза */ cleardevice(); /* обнуление экрана */ restore_screen(ptr); /* восстановление экрана */ getch(); /* пауза */
closegraph(); return 0; }
void save_screen(void far *buf[4]) { unsigned size; int ystart=0,yend,yincr,block; yincr = (maxy+1)/4; yend = yincr; size = imagesize(0,ystart,maxx,yend); /* получить размер изо- браженияв байтах */ for(block = 0; block

Функция Получает текущий цвет линии,



     getlinesttings
Функция Получает текущий цвет линии, шаблон и толщину.
Синтаксис #include
void far getlinesettings(struct linesettingstype far *lineinfo);
Файл, содержащий graphics.h прототип
Описание getlinesettings заполняет структуру linesettings, на которую указывает параметр lineinfo информаци- ей, о текущем типе линий, толщине и шаблоне.
Структура linesettingstype определена в graphics.h следующим образом:
struct linesettingstype{ int linestyle; unsigned upattern; int thickness; };
linestyle определяет тип линий, который будет ис- пользоваться ( непрерывная, пунктир, штрихпунк- тир, штриховая). Перечисляемый тип line_styles, определенный в graphics.h, дает символические имена этим операциям:
------------------------------------------- Название Знач. Описание ------------------------------------------- SOLID_LINE 0 сплошная DOTTED_LINE 1 пунктир CENTER_LINE 2 штрихпунктир DASHED_LINE 3 штриховая USERBIT_LINE 4 тип линии, заданный пользователем -------------------------------------------
thickness определяет, будут ли последующие линии тонкими или толстыми.
------------------------------------------- Название Знач. Описание ------------------------------------------- NORM_WIDTH 1 толшина в 1 пиксель THICK_WIDTH 3 толщина в 3 пикселя --------------------------------------------
upattern -это 16-битный шаблон, который использу- ется, только когда linestyle равен USERBIT_LINE (4). В этом случае каждый бит в шаблоне, установ- ленный в 1, соответствует пикселю на линии в те- кущем цвете. Например, сплошной линии соответстс- вует upattern равный 0xFFFF ( рисуются все пиксе- ли), а пунктиру соответствует upattern, равный 0x3333 или 0x0F0F. Если же параметр linestyle в setlynestyle не равен USERBIT_LINE (!=4), то upattern поддерживается, но игнорируется.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.


Смотрите также
Пример:
#include
#include
#include
#include
/* имена поддерживаемых типов линий */ char lname[] = {"SOLID_LINE", "DOTTED_LINE", "CENTER_LINE", "DASHED_LINE", "USERBIT_LINE" };
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; struct linrsettingstype lineinfo; int midx,midy; char lstyle[80],lpattern[80],lwigth[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить информацию о типе линии */ getlinesettings(&lineinfo); /* преобразовать в строки */ sprintf(lstyle,"Тип линии: %s\n",lname[lineinfo.linestyle]); sprintf(lpattern,"Шаблон определяемый пользователем: 0x%F", lineinfo.upattern); sprintf(lwigth,"Толщина линии: %d\n",lineinfo.thickness);
/* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,lstyle); outtextxy(midx,midy+2*textheight("W"),lpattern); outtextxy(midx,midy+4*textheight("W"),lwigth); /* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает максимальное значение цвета,



     getmaxcolor
Функция Возвращает максимальное значение цвета, которое может быть передано функции setcolor.
Синтаксис #include
int far getmaxcolor(void);
Файл, содержащий graphics.h прототип
Описание getmaxcolor возвращает наивысшее действи- тельное значение цвета для текущего графического драйвера и режим,который может быть передан setcolor.
Например, c 256K EGA, getmaxcolor будет всегда возвращать 15. Это значит, что допустим любой вы- зов setcolor со значением от 0 до 15. В CGA в ре- жиме высокого разрешения или в монохромном адап- тере Hercules getmaxcolor возвращает значение 1, т.к. эти адаптеры поддерживают только два цвета рисования: 0 или 1.
Возвращаемое getmaxcolor возвращает наивысшее допусти- значение мое значение цвета.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; char colstr[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2;
/* получить информацию о цвете и преобразовать в строку */ sprintf(colstr,"Этот адаптер поддерживает 0..%d цветов", getmaxcolor()); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,colstr); /* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает максимальный номер режима



     getmaxmode
Функция Возвращает максимальный номер режима для текущего драйвера.
Синтаксис #include
int far getmaxmode(void);
Файл, содержащий graphics.h прототип
Описание getmaxmode позволяет вам найти максимальный номер режима для текущего загруженного драйвера, непосредственно из этого драйвера. Это дает ему преимущество над getmoderange, который работает только с драйверами Borland. Минимальный режим - 0.
Возвращаемое getmaxmode возвращает максимальный номер значение режима для текущего драйвера.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; char modestr[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2;
/* получить информацию о режиме и преобразовать в строку */ sprintf(modestr,"Этот адаптер поддерживает режимы 0..%d", getmaxmode()); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,modestr); /* очистка */ getch(); closegraph(); return 0; }

в режиме 320х200, getmaxx возвра-



     getmaxx
Функция Возвращает максимальную координату х экрана.
Синтаксис #include
int far getmaxx(void);
Файл, содержащий graphics.h прототип
Описание getmaxx возвращает максимальное (относи- тельно экрана) значение х для текущего драйвера и режима.
Например, в CGA в режиме 320х200, getmaxx возвра- щает 319. getmaxx неоценимо для центрирования, определения границ в oбласти экрана и т. д.
Возвращаемое getmaxx возвращает максимальную координату значение х экрана.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; char xrange[80],yrange[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2;
/* преобразовать в строку информацию о максимальном разрешении */ sprintf(xrange,"Диапазон значений х: 0..%d",getmaxx()); sprintf(yrange,"Диапазон значений y: 0..%d",getmaxy()); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,xrange); outtextxy(midx,midy+textheight("W"),yrange); /* очистка */ getch(); closegraph(); return 0; }

y для текущего значения драйвера



     getmaxy
Функция Возвращает максимальную координату y экрана.
Синтаксис #include
int far getmaxy(void);
Файл, содержащий graphics.h прототип
Описание getmaxy возвращает максимальное (относи- тельно экрана) значение y для текущего значения драйвера и режима.
Например, в CGA в режиме 320х200, getmaxy возвра- щает 199. getmaxy неоценимо для центрирования, определения границ в oбласти экрана и т. д.
Возвращаемое getmaxy возвращает максимальную координату значение y экрана.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; char xrange[80],yrange[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2;
/* преобразовать в строку информацию о максимальном разрешении */ sprintf(xrange,"Диапазон значений х: 0..%d",getmaxx()); sprintf(yrange,"Диапазон значений y: 0..%d",getmaxy()); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,xrange); outtextxy(midx,midy+textheight("W"),yrange); /* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает указатель на строку,



     getmodename
Функция Возвращает указатель на строку, содержащую имя указанного графического режима.
Синтаксис #include
char *far getmodename(int mode_number);
Файл, содержащий graphics.h прототип
Описание getmodename принимает номер графического режима как входной параметр и возвращает строку, содер- жащую имя текущего графического режима. Имена ре- жимов встроены в каждый драйвер. Возвращаемое значение ("320x200 CGA", "640x200 CGA", и т.д.) используется для построения меню или отображения статуса.
Возвращаемое getmodename возвращает указатель на строку значение с именем графического режима.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy,mode; char numname[80],modename[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить код режима */ mode = getgraphmode(); sprintf(numname,"Номер режима: %d",mode); sprintf(modename,"Текущий графический режим: %s\n",getmodename(mode)); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,numname); outtextxy(midx,midy+2*textheight("W"),modename); /* очистка */ getch(); closegraph(); return 0; }

Функция Получает диапазон режимов для



     getmoderange
Функция Получает диапазон режимов для данного графиче- ского драйвера.
Синтаксис #include
void far getmoderange(int graphdriver, int far *lomode, int far *himode);
Файл, содержащий graphics.h прототип
Описание getmoderange получает диапазон допустимых графических режимов для заданного графического драйвера graphdriver. Наименьшее допустимое зна- чение режима возвращается в *lomode, а наивысшее допустимое значение в *himode. Если graphdriver определяет несуществующий графический драйвер, *lomonade и *himonade устанавливаются в -1. Если значение grapgdriver равно -1, будут возвращены режимы текущего загруженного драйвера.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; int low,high; char mrange[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить диапазон, допустимых для данного драйвера режимов */ mode = getmoderange(gdriver,&low,&high); sprintf(mrange,"Драйвер поддерживает режимы в диапазоне: %d..%d", low,high); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,mrange); /* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает размер справочной таблицы



     getpalettesize
Функция Возвращает размер справочной таблицы цветов палитры.
Синтаксис #include
int far getpalettesize(void);
Файл, содержащий graphics.h прототип
Описание getpalettesize используется для определения того, как много элементов палитры может быть установле- но для текущего графического режима. Например, EGA в цветовом режиме возвращает 16.
Возвращаемое getpalettesize возвращает количество элементов значение в текущей палитре.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int midx,midy; char psize[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* преобразовать в строку число элементов палитры */ sprintf(psize,"Палитра имеет %d изменяемых элементов", getpalettesize()); /* вывести информацию */ settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,psize); /* очистка */ getch(); closegraph(); return 0; }

Функция Вводит



     getpass
Функция Вводит пароль.
Синтаксис #include
char *getpass(char *prompt);
Файл, содержащий conio.h прототип
Описание Функция getpass считывает пароль с системной кон- соли после выдачи на экран специального сообщения - символьной строки с нулевым окончанием (prompt) и отменяет отображение пароля на экране. Возвра- щаемый в результате работы функции указатель ад- ресует строку символов с нулевым окончанием дли- ной до 8 символов (не считая нулевое окончание)- пароль.
Возвращаемое Возвращаемое значение - это указатель на строку значение символов типа static, которая перезаписывается при каждом вызове.
Переносимость Функция поддерживается на системах UNIX.
Смотрите также
Пример:
#include
int main(void) { char *password; password = getpass("Введите пароль:"); cprintf("Пароль: %s\r\n",password); return 0; }

Функция Получает идентификатор процесса для



     getpid
Функция Получает идентификатор процесса для программы.
Синтаксис #include
unsigned getpid(void);
Файл, содержащий process.h прототип
Описание Идентификатор процесса идентифицирует программу. Этот параметр пришел из мультизадачных операцион- ных систем типа UNIX, где процесс идентифицирует- ся уникальным номером.
Возвращаемое getpid возвращает адрес сегмента psp программы. значение
Переносимость Поддерживается системой UNIX.
Смотрите также переменная).
Пример:
#include
#include
int main(void) { printf("Идентификатор процесса данной программы = %X\n", getpid()); printf("Под DOS - это адрес сегмента PSP\n"); return 0; }

Функция Возвращает цвет заданной



     getpixel
Функция Возвращает цвет заданной точки.
Синтаксис #include
unsigned far getpixel(int x, int y);
Файл, содержащий graphics.h прототип
Описание getpixel получает цвет точки с координатами (x,y).
Возвращаемое Возвращает цвет заданного пикселя. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
#include
#define PIXEL_COUNT 1000 #define DELAY_TIME 100 /* в миллисекундах */
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int x,y,i,color,maxx,maxy,maxcolor,seed;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } maxx = getmaxx(); maxy = getmaxy(); maxcolor = getmaxcolor()+1; while(!kbhit()) { /* сбросить генератор случайных чисел */ seed = random(32767); stand(seed); for(i=0;i

Функция Получает адрес префикса программного



     getpsp
Функция Получает адрес префикса программного сегмента (psp).
Синтаксис #include
unsigned getpsp(void);
Файл, содержащий dos.h прототип
Описание Функция getpsp получает адрес префикса программно- го сегмента (PSP) посредством системного вызова DOS 0x62.
Данный вызов поддерживается только в операционных системах DOS версий 3.x. Для версий MS-DOS 2.x и 3.x можно использовать глобальную переменную _psp, устанавливаемую стартовым кодом.
Возвращаемое Функция getpsp возвращает адрес сегмента PSP. значение
Переносимость Функция уникальна для DOS версии 3.0 и не под- держивается в более ранних версиях DOS.
Смотрите также .
Пример:
#include
#include
int main(void) { static char command[128]; char far *cp; int len,l; printf("Префикс программного сегмента: %x\n",getpsp()); /* _psp получает адрес префикса программного сегмента. Остаток командной строки хранится в psp по смещению 80H относительно начала psp. Ниже показано, как можно полу- чить эти аргументы. */ cp = MK_FP(_psp,0x80); len = *cp; for(i=0; i

Функция Получает строку символов из



     gets
Функция Получает строку символов из потока.
Синтаксис #include
char *gets(char *s);
Файл, содержащий stdio.h прототип
Описание Функция gets читает строку символов, оканчиваю- щуюся символом перевода строки в переменную *s из стандартного входного потока stdin. Данная сим- вольная строка оканчивается символом перехода на новую строку, который при записи в *s заменяется на нулевое окончание (\0).
В отличие от scanf, gets позволяет вводить стро- ки, содержащие символы пробела и табуляции. Все, что было введено до перевода каретки, помещается в s.
Возвращаемое При успешном завершении, функция gets возвращает значение строку s; при достижении конца файла (EOF) или ошибке возвращается NULL.
Переносимость Функции поддерживаются на системах UNIX и стандар- том ANSI C.
Смотрите также
Пример:
#include
int main(void) { char string[133]; printf("Введите строку:"); gets(string); printf("Cтрока = '%s'\n,string); }

int left, int top, int



     gettext
Функция Копирует текст с экрана в память.
Синтаксис #include
int gettext( int left, int top, int right, int bottom, void *destin);
Файл содержащий conio.h прототип
Описание gettext запоминает содержимое прямоугольника на текстовом экране с размерами, определяемыми пара- метрами left, top, right, bottom, в области памя- ти, на которую указывает параметр destin.
Все координаты являются абсолютными координатами экрана, а не относительными в зависимости от ок- на. Левый верхний угол имеет координаты (1,1).
gettext считывает содержимое экрана последова- тельно слева направо и сверху вниз.
Каждая позиция на экране требует для хранения 2 байта: первый байт - это код символа а второй - его атрибуты. Т.о. для хранения прямоугольника шириной w и высотой h требуется h*w*2 байт.
Возвращаемое В случае успешного завершения gettext возвращает значение 1. В случае ошибки (если вы, например, задали ко- ординаты, выходящие за пределы экрана для данного режима) она возвращает 0.
Переносимость gettext работает только на системах совместимых с IBM PC и совместимых по BIOS.
Смотрите также
Пример:
#include
char buffer[4096];
int main(void) { int i; clrscr(); for(i=0; i

Функция Получает информацию



     gettextinfo
Функция Получает информацию о текстовом режиме.
Синтаксис #include
void gettextinfo(struct text_info *r);
Файл, содержащий conio.h прототип
Описание gettextinfo заполняет структуру типа text_info, на которую указывает параметр r, информацией о текущем текстовом режиме.
text_info определена в conio.h следующим образом:
struct text_info { unsigneg char winleft; /*левая коорд. окна */ unsigneg char wintop; /*коорд. вершины окна */ unsigneg char winright; /* правая коорд. окна */ unsigneg char winbottom; /* нижная коорд. окна */ unsigneg char attribute; /* атрибуты текста */ unsigneg char normattr; /* нормальные атрибуты */ unsigneg char currmode; /* BW40, BW80, C40 или С80 */ unsigneg char screenheight; /* bottom - top */ unsigneg char screenwightу /* right - left */ unsigneg char curx; /* х - коорд. курсора */ unsigneg char cury; /* y - коорд. курсора */ };
Возвращаемое gettextinfo возвращает результат в параметре r. значение
Переносимость gettextinfo работает только на компьютерах, совместимых с IBM PC.
Смотрите также
Пример:
#include
int main(void) { struct text_info ti; gettextinfo(&ti); cprintf("Левая граница: %2d\r\n",ti.winleft); cprintf("Верхняя граница: %2d\r\n",ti.wintop); cprintf("Правая граница: %2d\r\n",ti.winrigth); cprintf("Нижняя граница: %2d\r\n",ti.winbottom); cprintf("Атрибуты: %2d\r\n",ti.attribute); cprintf("Нормальные атрибуты: %2d\r\n",ti.normattr); cprintf("Текущий режим: %2d\r\n",ti.curmode); cprintf("Высота экрана: %2d\r\n",ti.screenheight); cprintf("Ширина экрана: %2d\r\n",ti.screenwidth); cprintf("Координата х: %2d\r\n",ti.curx); cprintf("Координата y: %2d\r\n",ti.cury); return 0; }

Функция Получает информацию



     gettextsettings
Функция Получает информацию о текущем графическом шрифте.
Синтаксис #include
void var gettexsettings(struct textsettingstype far *texttypeinfo);
Файл, содержащий graphics.h прототип
Описание gettextsettings заполняет структуру textsettingstype, на которую указывает textinfo, информацией о текущем текстовом шрифте, направле- нии, размере и выравнивании.
Структура textsettingstype, используемая gettextsettings, определена в graphics.h следую- щим образом:
struct textsettingstype{ int font; int direction; int charsize; int horiz; int vert; };
Смотрите settextstyle, в которой содержится опи- сание этих полей.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
/* имена поддерживаемых шрифтов */ char *font[] = {"DEFAULT_FONT", "TRIPLEX_FONT", "SMALL_FONT", "SANS_SERIF_FONT", "GOTHIC_FONT" }; /* имена направлений текста */ char *dir[] = {"HORIS_DIR","VERT_DIR"};
/* горизонтальное выравнивание текста */ char *hjust[] = {"LEFT_TEXT","CENTER_TEXT","RIGTH_TEXT"};
/* вертикальное выравнивание текста */ char *vjust[] = {"BOTTOM_TEXT","CENTER_TEXT","TOP_TEXT"};
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; struct textsettingstype textinfo; int midx,midy,ht; char fontstr[80],dirstr[80],sizestr[80]; char hjuststr[80],vjuststr[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить информацию о текущем шрифте */ gettextsettings(&textinfo); /* преобразовать информацию в строки */ sprintf(fontstr,"Шрифт: %s",font[textinfo.font]); sprintf(dirstr,"Напрвление: %s",dir[textinfo.direction]); sprintf(sizestr,"Размер: %d",textinfo.charsize); sprintf(hjuststr,"Горизонтальное выравнивание: %s", hjust[textinfo.horiz]); sprintf(hjuststr,"Вертикальное выравнивание: %s", hjust[textinfo.vert]); /* вывести информацию */ ht = textheight("W"); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,fontstr); outtextxy(midx,midy+2*ht,direstr); outtextxy(midx,midy+4*ht,sizestr); outtextxy(midx,midy+6*ht,hjuststr); outtextxy(midx,midy+8*ht,vjuststr); /* очистка */ getch(); closegraph(); return 0; }

Функция Получает системное



     gettime
Функция Получает системное время.
Синтаксис #include
void gettime(struct time * timep);
Файл, содержащий dos.h прототип
Описание Функция gettime заполняет структуру time на кото- рую указывает параметр timep, текущим системным временем.
Структура time определена следующим образом:
struct time { unsigned char ti_min; /* минуты */ unsugned char ti_hour; /* часы */ unsigned char ti_hund; /* сотые доли секунды */ unsigned char ti_sec; /* секунды */ };
Возвращаемое Нет. значение
Переносимость gettime уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { struct time t; gettime(&t); printf("Время: %2d:%02d:02d.%02d\n",t.ti_hour,t.ti_min, t.ti_sec, t.ti_hung); return 0; }

Функция Получает содержимое вектора



     getvect
Функция Получает содержимое вектора прерывания.
Синтаксис #include
void interrupt(*getvect(int intr_num))();
Файл, содержащий dos.h прототип
Описание Любой из семейства процессоров 8086 содержит набор векторов прерываний, пронумерованных от 0 до 255. 4-х байтовое значение каждого вектора есть адрес, по которому расположена функция обработки преры- вания.
Функция getvect считывает значение вектора с име- нем intr_num и интерпретирует прочитанное значе- ние, как "дальний" указатель (с атрибутом "far") на некоторую функцию прерывания. Параметр intr_num должен иметь значение от 0 до 255.
Возвращаемое Функция getvect возвращает 4-х байтовое значение, значение хранящееся в векторе прерывания с номером intr_num.
Переносимость Функция уникальна для DOS.
Смотрите также
Пример
#include
#include
void interrupt get_out(); /* прототип ф-ции обработки прерывания */ void interrupt (*oldfunc)(); /* указатель на прерывание */ int looping = 1;
int main(void) { puts("Нажмите для завершения"); /* сохранить старый вектор */ oldfunc = getvect(5); /* установить новый вектор */ setvect(5,get_out) /* ничего не делать */ while(looping); /* восстановить старый вектор */ setvect(5,oldfunc); puts("Успешно"); return 0; } void interrupt get_out() { looping = 0; /* изменить значение глобальной переменной */ }

Функция Получает состояние флажка



     getverify
Функция Получает состояние флажка верификации.
Синтаксис #include
int getverify(void);
Файл, содержащий dos.h прототип
Описание Функция getverify получает текущее состояние флаж- ка верификации.
Флажок верификации контролирует вывод на диск. Когда верификация выключена, запись на диск не контролируется, если же верификация включена, все операции записи на диск контролируются (для га- рантии правильности записи данных).
Возвращаемое Функция getverify возвращает текущее состояние значение флажка верификации, либо 0, либо 1.
Значение 0 = верификация выключена (off); значение 1 = верификация включена (on).
Переносимость Функция уникальна для DOS.
Смотрите также
Пример:
#include
#include
int main(void) { if(getverify()) printf("Флаг верификации включен\n"); else printf("Флаг верификации выключен\n"); return 0; }

Функция Получает информацию



     getviewsettings
Функция Получает информацию о текущей области просмотра.
Синтаксис #include
void var getviewsettings(struct viewporttype far *viewport);
Файл, содержащий graphics.h прототип
Описание getviewsettings заполняет структуру viewporttype, на которую указывает viewport информацией о теку- щей области просмотра. Структура viewporttype ис- пользуемая getviewport определена в graphics.h следующим образом:
struct viewporttype { int left, top, right, bottom; int clip; };
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
char *clip[] = {"OFF","ON"};
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; struct viewporttype viewinfo; int midx,midy,ht; char topstr[80],botstr[80],clipstr[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } midx = getmaxx()/2; midy = getmaxy()/2; /* получить информацию о текущей области просмотра */ getviewsettings(&viewinfo); /* преобразовать информацию в строки */ sprintf(topstr,"Левый верхний угол(%d,%d)",viewinfo.left, viewinfo.top); sprintf(botstr,"Правый нижний угол(%d,%d)",viewinfo.rigth, viewinfo.bottom); sprintf(clipstr,"Клиппирование: %s",clip[viewinfo.clip]); /* вывести информацию */ ht = textheight("W"); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(midx,midy,topstr); outtextxy(midx,midy+2*ht,botstr); outtextxy(midx,midy+4*ht,clipstr); /* очистка */ getch(); closegraph(); return 0; }

Функция Вводит из потока целое



     getw
Функция Вводит из потока целое число.
Синтаксис #include
int getw(FILE *stream);
Файл, содержащий stdio.h прототип
Описание getw возвращает следующее целое из указанного потока. Она не подразумевает какого либо выравни- вания в файле. getw нельзя использовать, когда поток открыт в текстовом режиме.
Возвращаемое getw возвращает следующее целое из входного потока значение При ошибке или в конце файла она возвращает EOF. T.к. EOF является допустимым значением, то для определения ошибки или конца файла необходимо ис- пользовать функции feof и ferror.
Переносимость getw поддерживается системами UNIX.
Смотрите также
Пример:
#include
#include
#define FNAME "test.$$$"
int main(void) { FILE *fp; int word; /* записать в файл слово */ fp = open(FNAME,"wb"); if(fp==NULL) { printf("Ошибка при открытии файла\n"); exit(1); } word = 94; putw(word,fp); if(ferror(fp)) printf("Ошибка, при записи в файл\n"); else printf("Успешная запись в файл\n"); fclose(fp); /* повторное открытие файла */ fp = fopen(FNAME,"rb"); if(fp==NULL) { printf("Ошибка при открытии файла%s\n",FNAME); exit(1); } word = getw(fp); if(ferror(fp)) printf("Ошибка, при чтении из файла\n"); else printf("Успешное чтение в файле, word = %d\n",word); fclose(fp); unlink(FNAME); return 0; }

x текущей графичес- кой позиции.



     getx
Функция Возвращает координату x текущей графической позиции.
Синтаксис #include
int far getx(void);
Файл, содержащий graphics.h прототип
Описание getx находит координату x текущей графичес- кой позиции. Значение берется относительно теку- щей области просмотра.
Возвращаемое getx возвращает координату x текущей позиции значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; char message[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ }
/* переместить точку в центр экрана */ moveto(getmaxx()/2,getmaxy()/2); /* создать строку */ sprintf(message,"

y текущей графичес- кой позиции.



     gety
Функция Возвращает координату y текущей графической позиции.
Синтаксис #include
int far gety(void);
Файл, содержащий graphics.h прототип
Описание gety находит координату y текущей графичес- кой позиции. Значение берется относительно теку- щей области просмотра.
Возвращаемое gety возвращает координату y текущей позиции значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; char message[80];
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ }
/* переместить точку в центр экрана */ moveto(getmaxx()/2,getmaxy()/2); /* создать строку */ sprintf(message,"

и время во время по



     gmtime
Функция Преобразует дату и время во время по стандарту Гринвича.
Синтаксис #include
struct tm *gmtime(long *timer);
Файл, содержащий time.h прототип
Описание gmtime получает адрес значения, возвращаемого функцией time, и возвращает указатель на структу- ру типа tm, содержащую разделенное время. gmtime преобразует время непосредственно по Гринвичу.
Глобальная переменная типа long timezone должна содержать разницу в секундах между временем по Гринвичу и местным временем. Глобальная перемен- ная daylight должна быть равна 0, если не исполь- зуется стандартное летнее время.
Структура tm объявленна в time.h следующим обра- зом:
struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; };
Эти элементы содержат время в 24-часовой записи, день месяца 1-31, месяц 1-12, день недели (воск- ресенье = 0), год - 1900, день года 0-365 и флаг, определяющий действует ли летнее время.
Возвращаемое gmtime возвращает указатель на структуру, содержа- значение щую разделенное время. Эта структура имеет класс памяти static и перезаписывается при каждом вызо- ве.
Переносимость gmtime доступна в системах UNIX и поддерживается стандартом ANSI C.
Смотрите также
Пример:
#include
#include
#include
char *tzstr = "TZ=PST8PDT";
int main(void) { time_t t; struct tm *gmt,*area; putenv(tzstr); t = time(NULL); area = localtime(&t); printf("Локальное время:%s\n",asctime(area)); gmt = gmtime(&t); printf("GMT:%s\n",asctime(gmt)); return 0; }

в ука- занную позицию. Если



     gotoxy
Функция Позиционирует курсор в текстовом окне.
Синтаксис #include
void gotoxy(int x, int y);
Файл, содержащий conio.h прототип
Описание gotoxy перемещает курсор в текстовом окне в ука- занную позицию. Если координаты указаны неверно, вызов данной функции игнорируется. Например, это произойдет при вызове gotoxy(40,30) когда окно имеет размеры 35 на 25.
Возвращаемое Нет. значение
Переносимость gotoxy работает только на системах, совместимых с IBM PC. Аналогичная функция есть в Turbo Pascal.
Смотрите также
Пример:
#include
int main(void) { clrscr(); gotoxy(35,12); cprintf("Привет!"); getch(); return 0; }

Функция Переустанавливает все графические параметры



     graphdefaults
Функция Переустанавливает все графические параметры в их начальные значения.
Синтаксис #include
void far graphdefaults(void);
Файл, содержащий graphics.h прототип
Описание graphdefaults переустанавливает все графические параметры в их начальные значения:
- устанавливает область просмотра в полный экран;
- перемещает текущую позицию в (0,0);
- устанавливает начальные цвета палитры, цвет фо- на и цвет рисования;
- устанавливает начальный тип и шаблон заполне- ния;
- устанавливает начальный шрифт и выравнивание.
Возвращаемое Нет. значение
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; int maxx, maxy;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } maxx = getmaxx(); maxy = getmaxy(); /* вывести линию со своими параметрами */ setlinestyle(DOTTED_LINE,0,3); line(o,o,maxx,maxy); outtextxy(maxx/2,maxy/2,"Перед восстановлением исходных значений"); getch(); /* восстановить исходные значение всех параметров */ graphdefaults(); cleardevice(); /* вывести строку с исходными параметрами */ line(o,o,maxx,maxy); outtextxy(maxx/2,maxy/2,"После восстановления исходных значений"); /* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает указатель на строку



     grapherrormsg
Функция Возвращает указатель на строку сообщения об ошиб- ке.
Синтаксис #include
char *far grapherrormsg(int errorcode);
Файл, содержащий graphics.h прототип
Описание grapherrormsg возвращает указатель на строку сообщения об ошибке, связанной с errorcode - зна- чением, возвращаемым graphresult.
Обратитесь к описанию errno (Глава 2) для озна- комления со списком ошибок и их мнемоникой.
Возвращаемое grapherrormsg возвращает указатель на строку значение сообщения об ошибке.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
#define NONSENSE -50
int main(void) { /* Инициация ошибки */ int graphdriver = NONSENSE, gmode, errorcode;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult();
/* выдать соответствующее ошибке сообщение */ if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } line(o,o,getmaxx(),getmaxy()); /* очистка */ getch(); closegraph(); return 0; }

Функция Возвращает код ошибки последней



     graphresult
Функция Возвращает код ошибки последней неудачно выпол- ненной графической операции.
Синтаксис #include
int far graphresult(void);
Файл, содержащий graphics.h прототип
Описание graphresult возвращает код ошибки последней гра- фической операции, которая сообщила об ошибке, и устанавливает уровень ошибки в grOk.
В следующей таблице приведены коды ошибок, возв- ращаемые graphresult. Перечисляемый тип graph_errors определяет ошибки в данной таблице. graph_errors объявлен в graphics.h. ----------------------------------------------------------- код константа соответствующая строка ошибки graphics_errors сообщения об ошибке ----------------------------------------------------------- 0 grOk нет ошибок -1 grNoInitGraph BGI-графика не установлена (используйте initgraph) -2 grNotDetect не обнаружены графические аппа- ратные средства -3 grFileNotFound файл драйвера не найден -4 grInvalidDriver неисправный файл драйвера -5 grNoLoadMem нет места в памяти для загрузки драйвера -6 grNoScanMem выход за память при сканирующем заполнении -7 grNoFloodMem выход за память при лавинном за- полнении -8 grFontNotFound файл со шрифтом не найден -9 grNoFontMem нет места в памяти для загрузки шрифта -10 grInvalidMode неверный графический режим для выбранного драйвера -11 grError графическая ошибка -12 grIOError графическая ошибка ввода/вывода -13 grInvalidFont неверный шрифтовый файл -14 grInvalidFontNum неверный номер шрифта -15 grInvalidDeviceNum неверный номер устройства -18 grInvalidVersion неверный номер версии ------------------------------------------------------------
Заметим, что переменные, полученные от graph- result, переустанавливаются в 0 после завершения вызова graphresult. Поэтому необходимо сохранять значения, полученные от graph- result, во времен- ных переменных и затем их использовать.
Возвращаемое graphresult возвращает текущий номер графи- значение ческой ошибки - целое число от -15 до 0; grapherrormsg возвращает указатель на строку, связанную со значением, возвращаемым функцией graphresult.
Переносимость Функция уникальна для Turbo C++. Она работает только на компьютерах IBM PC и совместимых с ни- ми, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { /* требуется автоопределение */ int graphdriver = DETECT, gmode, errorcode;
/* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } line(o,o,getmaxx(),getmaxy()); /* очистка */ getch(); closegraph(); return 0; }