C语言函数集(六)

来源:互联网 发布:新代数控系统编程 编辑:程序博客网 时间:2024/06/06 18:08
函数名: gcvt功  能: 把浮点数转换成字符串用  法: char *gcvt(double value, int ndigit, char *buf);程序例:#include <stdlib.h>#include <stdio.h>int main(void){   char str[25];   double num;   int sig = 5; /* significant digits */   /* a regular number */   num = 9.876;   gcvt(num, sig, str);   printf("string = %s\n", str);   /* a negative number */   num = -123.4567;   gcvt(num, sig, str);   printf("string = %s\n", str);   /* scientific notation */   num = 0.678e5;   gcvt(num, sig, str);   printf("string = %s\n", str);   return(0);}函数名: geninterrupt功  能: 产生一个软中断用  法: void geninterrupt(int intr_num);程序例:#include <conio.h>#include <dos.h>/* function prototype */void writechar(char ch);int main(void){   clrscr();   gotoxy(80,25);   writechar('*');   getch();   return 0;}/*   outputs a character at the current cursor   position using the video BIOS to avoid the   scrolling of the screen when writing to   location (80,25).*/void writechar(char ch){   struct text_info ti;   /* grab current text settings */   gettextinfo(&ti);   /* interrupt 0x10 sub-function 9 */   _AH = 9;   /* character to be output */   _AL = ch;   _BH = 0;                  /* video page */   _BL = ti.attribute;  /* video attribute */   _CX = 1;           /* repetition factor */   geninterrupt(0x10);  /* output the char */}函数名: getarccoords功  能: 取得最后一次调用arc的坐标用  法: void far getarccoords(struct arccoordstype far *arccoords);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   struct arccoordstype arcinfo;   int midx, midy;   int stangle = 45, endangle = 270;   char sstr[80], estr[80];/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;/* draw arc and get coordinates */   setcolor(getmaxcolor());   arc(midx, midy, stangle, endangle, 100);   getarccoords(&arcinfo);/* convert arc information into strings */   sprintf(sstr, "*- (%d, %d)",           arcinfo.xstart, arcinfo.ystart);   sprintf(estr, "*- (%d, %d)",           arcinfo.xend, arcinfo.yend);   /* output the arc information */   outtextxy(arcinfo.xstart,             arcinfo.ystart, sstr);   outtextxy(arcinfo.xend,             arcinfo.yend, estr);   /* clean up */   getch();   closegraph();   return 0;}函数名: getaspectratio功  能: 返回当前图形模式的纵横比用  法: void far getaspectratio(int far *xasp, int far *yasp);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int xasp, yasp, midx, midy;/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   setcolor(getmaxcolor());/* get current aspect ratio settings */   getaspectratio(&xasp, &yasp);/* draw normal circle */   circle(midx, midy, 100);   getch();/* draw wide circle */   cleardevice();   setaspectratio(xasp/2, yasp);   circle(midx, midy, 100);   getch();/* draw narrow circle */   cleardevice();   setaspectratio(xasp, yasp/2);   circle(midx, midy, 100);/* clean up */   getch();   closegraph();   return 0;}函数名: getbkcolor功  能: 返回当前背景颜色用  法: int far getbkcolor(void);程序例:#include <graphics.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int bkcolor, midx, midy;   char bkname[35];/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   setcolor(getmaxcolor());/* for centering text on the display */   settextjustify(CENTER_TEXT, CENTER_TEXT);/* get the current background color */   bkcolor = getbkcolor();/* convert color value into a string */   itoa(bkcolor, bkname, 10);   strcat(bkname, " is the current background color.");/* display a message */   outtextxy(midx, midy, bkname);/* clean up */   getch();   closegraph();   return 0;}函数名: getc功  能: 从流中取字符用  法: int getc(FILE *stream);程序例:#include <stdio.h>int main(void){   char ch;   printf("Input a character:");/* read a character from the   standard input stream */   ch = getc(stdin);   printf("The character input was: '%c'\n",          ch);   return 0;}函数名: getcbrk功  能: 获取Control_break设置用  法: int getcbrk(void);程序例:#include <stdio.h>#include <dos.h>int main(void){   if (getcbrk())      printf("Cntrl-brk flag is on\n");   else      printf("Cntrl-brk flag is off\n");   return 0;}函数名: getch功  能: 从控制台无回显地取一个字符用  法: int getch(void);程序例:#include <stdio.h>#include <conio.h>int main(void){   char ch;   printf("Input a character:");   ch = getche();   printf("\nYou input a '%c'\n", ch);   return 0;}函数名: getchar功  能: stdin流中读字符用  法: int getchar(void);程序例:#include <stdio.h>int main(void){   int c;   /* Note that getchar reads from stdin and      is line buffered; this means it will      not return until you press ENTER. */   while ((c = getchar()) != '\n')      printf("%c", c);   return 0;}函数名: getche功  能: 从控制台取字符(带回显)用  法: int getche(void);程序例:#include <stdio.h>#include <conio.h>int main(void){   char ch;   printf("Input a character:");   ch = getche();   printf("\nYou input a '%c'\n", ch);   return 0;}函数名: getcolor功  能: 返回当前画线颜色用  法: int far getcolor(void);程序例:#include <graphics.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int color, midx, midy;   char colname[35];/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   setcolor(getmaxcolor());/* for centering text on the display */   settextjustify(CENTER_TEXT, CENTER_TEXT);/* get the current drawing color */   color = getcolor();/* convert color value into a string */   itoa(color, colname, 10);   strcat(colname,   " is the current drawing color.");/* display a message */   outtextxy(midx, midy, colname);/* clean up */   getch();   closegraph();   return 0;}函数名: getcurdir功  能: 取指定驱动器的当前目录用  法: int getcurdir(int drive, char *direc);程序例:#include <dir.h>#include <stdio.h>#include <string.h>char *current_directory(char *path){   strcpy(path, "X:\\");      /* fill string with form of response: X:\ */   path[0] = 'A' + getdisk();    /* replace X with current drive letter */   getcurdir(0, path+3);  /* fill rest of string with current directory */   return(path);}int main(void){   char curdir[MAXPATH];   current_directory(curdir);   printf("The current directory is %s\n", curdir);   return 0;}函数名: getcwd功  能: 取当前工作目录用  法: char *getcwd(char *buf, int n);程序例:#include <stdio.h>#include <dir.h>int main(void){   char buffer[MAXPATH];   getcwd(buffer, MAXPATH);   printf("The current directory is: %s\n", buffer);   return 0;}函数名: getdate功  能: DOS日期用  法: void getdate(struct *dateblk);程序例:#include <dos.h>#include <stdio.h>int main(void){   struct date d;   getdate(&d);   printf("The current year is: %d\n",   d.da_year);   printf("The current day is: %d\n",   d.da_day);   printf("The current month is: %d\n",   d.da_mon);   return 0;}函数名: getdefaultpalette功  能: 返回调色板定义结构用  法: struct palettetype *far getdefaultpalette(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int i;/* structure for returning palette copy */   struct palettetype far *pal=(void *) 0;/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   setcolor(getmaxcolor());/* return a pointer to the default palette */   pal = getdefaultpalette();   for (i=0; i<16; i++)   {      printf("colors[%d] = %d\n", i,             pal->colors[i]);      getch();   }/* clean up */   getch();   closegraph();   return 0;}函数名: getdisk功  能: 取当前磁盘驱动器号用  法: int getdisk(void);程序例:#include <stdio.h>#include <dir.h>int main(void){   int disk;   disk = getdisk() + 'A';   printf("The current drive is: %c\n",    disk);   return 0;}函数名: getdrivername功  能: 返回指向包含当前图形驱动程序名字的字符串指针用  法: char *getdrivename(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;/* stores the device driver name */   char *drivername;/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",              grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   setcolor(getmaxcolor());/* get name of the device driver in use */   drivername = getdrivername();/* for centering text on the screen */   settextjustify(CENTER_TEXT, CENTER_TEXT);/* output the name of the driver */   outtextxy(getmaxx() / 2, getmaxy() / 2,      drivername);/* clean up */   getch();   closegraph();   return 0;}函数名: getdta功  能: 取磁盘传输地址用  法: char far *getdta(void);程序例:#include <dos.h>#include <stdio.h>int main(void){   char far *dta;   dta = getdta();   printf("The current disk transfer \   address is: %Fp\n", dta);   return 0;}函数名: getenv功  能: 从环境中取字符串用  法: char *getenv(char *envvar);程序例:#include <stdlib.h>#include <stdio.h>int main(void){    char *s;    s=getenv("COMSPEC");       /* get the comspec environment parameter */    printf("Command processor: %s\n",s);   /* display comspec parameter */    return 0;}函数名: getfat, getfatd功  能: 取文件分配表信息用  法: void getfat(int drive, struct fatinfo *fatblkp);程序例:#include <stdio.h>#include <dos.h>int main(void){   struct fatinfo diskinfo;   int flag = 0;   printf("Please insert disk in drive A\n");   getchar();   getfat(1, &diskinfo);/* get drive information */   printf("\nDrive A: is ");   switch((unsigned char) diskinfo.fi_fatid)   {      case 0xFD: printf("360K low density\n"); break;      case 0xF9: printf("1.2 Meg high density\n"); break;      default: printf("unformatted\n"); flag = 1;   }   if (!flag)   {      printf("  sectors per cluster %5d\n",       diskinfo.fi_sclus);      printf("   number of clusters %5d\n",       diskinfo.fi_nclus);      printf("     bytes per sector %5d\n",       diskinfo.fi_bysec);   }   return 0;}函数名: getfillpattern功  能: 将用户定义的填充模式拷贝到内存中用  法: void far getfillpattern(char far *upattern);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int maxx, maxy;   char pattern[8] = {0x00, 0x70, 0x20, 0x27, 0x25, 0x27, 0x04, 0x04};   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   maxx = getmaxx();   maxy = getmaxy();   setcolor(getmaxcolor());   /* select a user defined fill pattern */   setfillpattern(pattern, getmaxcolor());   /* fill the screen with the pattern */   bar(0, 0, maxx, maxy);   getch();   /* get the current user defined fill pattern */   getfillpattern(pattern);   /* alter the pattern we grabbed */   pattern[4] -= 1;   pattern[5] -= 3;   pattern[6] += 3;   pattern[7] -= 4;   /* select our new pattern */   setfillpattern(pattern, getmaxcolor());   /* fill the screen with the new pattern */   bar(0, 0, maxx, maxy);   /* clean up */   getch();   closegraph();   return 0;}函数名: getfillsettings功  能: 取得有关当前填充模式和填充颜色的信息用  法: void far getfillsettings(struct fillsettingstype far *fillinfo);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>/  the names of the fill styles supported */char *fname[] = { "EMPTY_FILL",                  "SOLID_FILL",                  "LINE_FILL",                  "LTSLASH_FILL",                  "SLASH_FILL",                  "BKSLASH_FILL",                  "LTBKSLASH_FILL",                  "HATCH_FILL",                  "XHATCH_FILL",                  "INTERLEAVE_FILL",                  "WIDE_DOT_FILL",                  "CLOSE_DOT_FILL",                  "USER_FILL"        };int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   struct fillsettingstype fillinfo;   int midx, midy;   char patstr[40], colstr[40];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* get information about current fill pattern and color */   getfillsettings(&fillinfo);   /* convert fill information into strings */   sprintf(patstr, "%s is the fill style.", fname[fillinfo.pattern]);   sprintf(colstr, "%d is the fill color.", fillinfo.color);   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, patstr);   outtextxy(midx, midy+2*textheight("W"), colstr);   /* clean up */   getch();   closegraph();   return 0;}函数名: getftime功  能: 取文件日期和时间用  法: int getftime(int handle, struct ftime *ftimep);程序例:#include <stdio.h>#include <io.h>int main(void){   FILE *stream;   struct ftime ft;   if ((stream = fopen("TEST.$$$",        "wt")) == NULL)   {      fprintf(stderr,             "Cannot open output file.\n");      return 1;   }   getftime(fileno(stream), &ft);   printf("File time: %u:%u:%u\n",          ft.ft_hour, ft.ft_min,          ft.ft_tsec * 2);   printf("File date: %u/%u/%u\n",   ft.ft_month, ft.ft_day,   ft.ft_year+1980);   fclose(stream);   return 0;}函数名: getgraphmode功  能: 返回当前图形模式用  法: int far getgraphmode(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy, mode;   char numname[80], modename[80];/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;/* get mode number and name strings */   mode = getgraphmode();   sprintf(numname,           "%d is the current mode number.",           mode);   sprintf(modename,           "%s is the current graphics mode",           getmodename(mode));/* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, numname);   outtextxy(midx, midy+2*textheight("W"),             modename);/* clean up */   getch();   closegraph();   return 0;}函数名: getftime功  能: 取文件日期和时间用  法: int getftime(int handle, struct ftime *ftimep);程序例:#include <stdio.h>#include <io.h>int main(void){   FILE *stream;   struct ftime ft;   if ((stream = fopen("TEST.$$$",        "wt")) == NULL)   {      fprintf(stderr,             "Cannot open output file.\n");      return 1;   }   getftime(fileno(stream), &ft);   printf("File time: %u:%u:%u\n",          ft.ft_hour, ft.ft_min,          ft.ft_tsec * 2);   printf("File date: %u/%u/%u\n",   ft.ft_month, ft.ft_day,   ft.ft_year+1980);   fclose(stream);   return 0;}函数名: getgraphmode功  能: 返回当前图形模式用  法: int far getgraphmode(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy, mode;   char numname[80], modename[80];/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;/* get mode number and name strings */   mode = getgraphmode();   sprintf(numname,           "%d is the current mode number.",           mode);   sprintf(modename,           "%s is the current graphics mode",           getmodename(mode));/* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, numname);   outtextxy(midx, midy+2*textheight("W"),             modename);/* clean up */   getch();   closegraph();   return 0;}函数名: getimage功  能: 将指定区域的一个位图存到主存中用  法: void far getimage(int left, int top, int right, int bottom,     void far *bitmap);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <alloc.h>void save_screen(void far *buf[4]);void restore_screen(void far *buf[4]);int maxx, maxy;int main(void){   int gdriver=DETECT, gmode, errorcode;   void far *ptr[4];   /* auto-detect the graphics driver and mode */   initgraph(&gdriver, &gmode, "");   errorcode = graphresult(); /* check for any errors */   if (errorcode != grOk)   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1);   }   maxx = getmaxx();   maxy = getmaxy();   /* draw an image on the screen */   rectangle(0, 0, maxx, maxy);   line(0, 0, maxx, maxy);   line(0, maxy, maxx, 0);   save_screen(ptr);    /* save the current screen */   getch();             /* pause screen */   cleardevice();       /* clear screen */   restore_screen(ptr); /* restore the screen */   getch();             /* pause screen */   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); /* get byte size of image */   for (block=0; block<=3; block++)   {      if ((buf[block] = farmalloc(size)) == NULL)      {         closegraph();         printf("Error: not enough heap space in save_screen().\n");  exit(1);      }      getimage(0, ystart, maxx, yend, buf[block]);      ystart = yend + 1;      yend += yincr + 1;   }}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); /* get byte size of image */   for (block=0; block<=3; block++)   {      if ((buf[block] = farmalloc(size)) == NULL)      {         closegraph();         printf("Error: not enough heap space in save_screen().\n");  exit(1);      }      getimage(0, ystart, maxx, yend, buf[block]);      ystart = yend + 1;      yend += yincr + 1;   }}void restore_screen(void far *buf[4]){   int ystart=0, yend, yincr, block;   yincr = (maxy+1) / 4;   yend = yincr;   for (block=0; block<=3; block++)   {      putimage(0, ystart, buf[block], COPY_PUT);      farfree(buf[block]);      ystart = yend + 1;      yend += yincr + 1;   }}函数名: getlinesettings功  能: 取当前线型、模式和宽度用  法: void far getlinesettings(struct linesettingstype far *lininfo):程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>/* the names of the line styles supported */char *lname[] = { "SOLID_LINE",                  "DOTTED_LINE",                  "CENTER_LINE",                  "DASHED_LINE",                  "USERBIT_LINE"                };int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   struct linesettingstype lineinfo;   int midx, midy;   char lstyle[80], lpattern[80], lwidth[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* get information about current line settings */   getlinesettings(&lineinfo);   /* convert line information into strings */   sprintf(lstyle, "%s is the line style.",           lname[lineinfo.linestyle]);   sprintf(lpattern, "0x%X is the user-defined line pattern.",           lineinfo.upattern);   sprintf(lwidth, "%d is the line thickness.",    lineinfo.thickness);   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, lstyle);   outtextxy(midx, midy+2*textheight("W"), lpattern);   outtextxy(midx, midy+4*textheight("W"), lwidth);   /* clean up */   getch();   closegraph();   return 0;}函数名: getmaxcolor功  能: 返回可以传给函数setcolor的最大颜色值用  法: int far getmaxcolor(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy;   char colstr[80];   /* initialize graphics and local variables  */ initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* grab the color info. and convert it to a string */   sprintf(colstr, "This mode supports colors 0..%d", getmaxcolor());   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, colstr);   /* clean up */   getch();   closegraph();   return 0;}函数名: getmaxx功  能: 返回屏幕的最大x坐标用  法: int far getmaxx(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy;   char xrange[80], yrange[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* convert max resolution values into strings */   sprintf(xrange, "X values range from 0..%d", getmaxx());   sprintf(yrange, "Y values range from 0..%d", getmaxy());   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, xrange);   outtextxy(midx, midy+textheight("W"), yrange);   /* clean up */   getch();   closegraph();   return 0;}函数名: getmaxy功  能: 返回屏幕的最大y坐标用  法: int far getmaxy(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy;   char xrange[80], yrange[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* convert max resolution values into strings */   sprintf(xrange, "X values range from 0..%d", getmaxx());   sprintf(yrange, "Y values range from 0..%d", getmaxy());   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, xrange);   outtextxy(midx, midy+textheight("W"), yrange);   /* clean up */   getch();   closegraph();   return 0;}函数名: getmodename功  能: 返回含有指定图形模式名的字符串指针用  法: char *far getmodename(int mode_name);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request autodetection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy, mode;   char numname[80], modename[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* get mode number and name strings */   mode = getgraphmode();   sprintf(numname, "%d is the current mode number.", mode);   sprintf(modename, "%s is the current graphics mode.", getmodename(mode));   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, numname);   outtextxy(midx, midy+2*textheight("W"), modename);   /* clean up */   getch();   closegraph();   return 0;}函数名: getmoderange功  能: 取给定图形驱动程序的模式范围用  法: void far getmoderange(int graphdriver, int far *lomode,    int far *himode);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy;   int low, high;   char mrange[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* get the mode range for this driver */   getmoderange(gdriver, &low, &high);   /* convert mode range info. into strings */   sprintf(mrange, "This driver supports modes %d..%d", low, high);   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, mrange);   /* clean up */   getch();   closegraph();   return 0;}函数名: getpalette功  能: 返回有关当前调色板的信息用  法: void far getpalette(struct palettetype far *palette);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */   int gdriver = DETECT, gmode, errorcode;   struct palettetype pal;   char psize[80], pval[20];   int i, ht;   int y = 10;/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }/* grab a copy of the palette */   getpalette(&pal);/* convert palette info. into strings */   sprintf(psize, "The palette has %d \           modifiable entries.", pal.size);/* display the information */   outtextxy(0, y, psize);   if (pal.size != 0)   {      ht = textheight("W");      y += 2*ht;      outtextxy(0, y, "Here are the current \  values:");      y += 2*ht;      for (i=0; i<pal.size; i++, y+=ht)      {  sprintf(pval,   "palette[%02d]: 0x%02X", i,   pal.colors[i]);  outtextxy(0, y, pval);      }   }/* clean up */   getch();   closegraph();   return 0;}函数名: getpass功  能: 读一个口令用  法: char *getpass(char *prompt);程序例:#include <conio.h>int main(void){   char *password;   password = getpass("Input a password:");   cprintf("The password is: %s\r\n",    password);   return 0;}函数名: getpixel功  能: 取得指定像素的颜色用  法: int far getpixel(int x, int y);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <dos.h>#define PIXEL_COUNT 1000#define DELAY_TIME  100  /* in milliseconds */int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int i, x, y, color, maxx, maxy,       maxcolor, seed;/* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");/* read result of initialization */   errorcode = graphresult();/* an error occurred */   if (errorcode != grOk)   {      printf("Graphics error: %s\n",             grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();/* terminate with an error code */      exit(1);   }   maxx = getmaxx() + 1;   maxy = getmaxy() + 1;   maxcolor = getmaxcolor() + 1;   while (!kbhit())   {/* seed the random number generator */      seed = random(32767);      srand(seed);      for (i=0; i<PIXEL_COUNT; i++)      {         x = random(maxx);         y = random(maxy);         color = random(maxcolor);         putpixel(x, y, color);      }      delay(DELAY_TIME);      srand(seed);      for (i=0; i<PIXEL_COUNT; i++)      {         x = random(maxx);         y = random(maxy);         color = random(maxcolor);         if (color == getpixel? ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;h;(;);;; ;e;t;p;s;p;(;););;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;e;s;e;t; ;t;o; ;s;e;g;m;e;n;t; ;o;f; ;t;h;e; ;P;S;P; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;i;n;e; ;i;s; ;l;o;c;a;t;e;d; ;a;t; ;o;f;f;s;e;t; ;0;x;8;1; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;t; ;o;f; ;P;S;P; ; ; ; ; ; ; ; ;函数名: gets功  能: 从流中取一字符串用  法: char *gets(char *string);程序例:#include <stdio.h>int main(void){   char string[80];   printf("Input a string:");   gets(string);   printf("The string input was: %s\n",   string);   return 0;}函数名: gettext功  能: 将文本方式屏幕上的文本拷贝到存储区用  法: int gettext(int left, int top, int right, int  bottom, void *destin);程序例:#include <conio.h>char buffer[4096];int main(void){   int i;   clrscr();   for (i = 0; i <= 20; i++)      cprintf("Line #%d\r\n", i);   gettext(1, 1, 80, 25, buffer);   gotoxy(1, 25);   cprintf("Press any key to clear screen...");   getch();   clrscr();   gotoxy(1, 25);   cprintf("Press any key to restore screen...");   getch();   puttext(1, 1, 80, 25, buffer);   gotoxy(1, 25);   cprintf("Press any key to quit...");   getch();   return 0;}函数名: gettextinfo功  能: 取得文本模式的显示信息用  法: void gettextinfo(struct text_info *inforec);程序例:#include <conio.h>int main(void){   struct text_info ti;   gettextinfo(&ti);   cprintf("window left      %2d\r\n",ti.winleft);   cprintf("window top       %2d\r\n",ti.wintop);   cprintf("window right     %2d\r\n",ti.winright);   cprintf("window bottom    %2d\r\n",ti.winbottom);   cprintf("attribute        %2d\r\n",ti.attribute);   cprintf("normal attribute %2d\r\n",ti.normattr);   cprintf("current mode     %2d\r\n",ti.currmode);   cprintf("screen height    %2d\r\n",ti.screenheight);   cprintf("screen width     %2d\r\n",ti.screenwidth);   cprintf("current x        %2d\r\n",ti.curx);   cprintf("current y        %2d\r\n",ti.cury);   return 0;}函数名: gettextsettings功  能: 返回有关当前图形文本字体的信息用  法: void far gettextsettings(struct textsettingstype far *textinfo);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>/* the names of the fonts supported */char *font[] = { "DEFAULT_FONT",                 "TRIPLEX_FONT",                 "SMALL_FONT",                 "SANS_SERIF_FONT",                 "GOTHIC_FONT"               };/* the names of the text directions supported */char *dir[] = { "HORIZ_DIR", "VERT_DIR" };/* horizontal text justifications supported */char *hjust[] = { "LEFT_TEXT", "CENTER_TEXT", "RIGHT_TEXT" };/* vertical text justifications supported */char *vjust[] = { "BOTTOM_TEXT", "CENTER_TEXT", "TOP_TEXT" };int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   struct textsettingstype textinfo;   int midx, midy, ht;   char fontstr[80], dirstr[80], sizestr[80];   char hjuststr[80], vjuststr[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* get information about current text settings */   gettextsettings(&textinfo);   /* convert text information into strings */   sprintf(fontstr, "%s is the text style.", font[textinfo.font]);   sprintf(dirstr, "%s is the text direction.", dir[textinfo.direction]);   sprintf(sizestr, "%d is the text size.", textinfo.charsize);   sprintf(hjuststr, "%s is the horizontal justification.",           hjust[textinfo.horiz]);   sprintf(vjuststr, "%s is the vertical justification.",           vjust[textinfo.vert]);   /* display the information */   ht = textheight("W");   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, fontstr);   outtextxy(midx, midy+2*ht, dirstr);   outtextxy(midx, midy+4*ht, sizestr);   outtextxy(midx, midy+6*ht, hjuststr);   outtextxy(midx, midy+8*ht, vjuststr);   /* clean up */   getch();   closegraph();   return 0;}函数名: gettime功  能: 取得系统时间用  法: void gettime(struct time *timep);程序例:#include   <stdio.h>#include   <dos.h>int main(void){   struct  time t;   gettime(&t);   printf("The current time is: %2d:%02d:%02d.%02d\n",          t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);   return 0;}函数名: getvect功  能: 取得中断向量入口用  法: void interrupt(*getvect(int intr_num));程序例:#include <stdio.h>#include <dos.h>void interrupt get_out(); /* interrupt prototype */void interrupt (*oldfunc)(); /* interrupt function pointer */int looping = 1;int main(void){  puts("Press <Shift><Prt Sc> to terminate");  /* save the old interrupt */  oldfunc  = getvect(5);   /* install interrupt handler */  setvect(5,get_out);   /* do nothing */  while (looping);   /* restore to original interrupt routine */   setvect(5,oldfunc);  puts("Success");  return 0;}void interrupt get_out(){  looping = 0; /* change global variable to get out of loop */}函数名: getverify功  能: 返回DOS校验标志状态用  法: int getverify(void);程序例:#include <stdio.h>#include <dos.h>int main(void){   if (getverify())      printf("DOS verify flag is on\n");   else      printf("DOS verify flag is off\n");   return 0;}函数名: getviewsetting功  能: 返回有关当前视区的信息用  法: void far getviewsettings(struct viewporttype far *viewport);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>char *clip[] = { "OFF", "ON" };int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   struct viewporttype viewinfo;   int midx, midy, ht;   char topstr[80], botstr[80], clipstr[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* get information about current viewport */   getviewsettings(&viewinfo);   /* convert text information into strings */   sprintf(topstr, "(%d, %d) is the upper left viewport corner.",           viewinfo.left, viewinfo.top);   sprintf(botstr, "(%d, %d) is the lower right viewport corner.",           viewinfo.right, viewinfo.bottom);   sprintf(clipstr, "Clipping is turned %s.", clip[viewinfo.clip]);   /* display the information */   settextjustify(CENTER_TEXT, CENTER_TEXT);   ht = textheight("W");   outtextxy(midx, midy, topstr);   outtextxy(midx, midy+2*ht, botstr);   outtextxy(midx, midy+4*ht, clipstr);   /* clean up */   getch();   closegraph();   return 0;}函数名: getw功  能: 从流中取一整数用  法: int getw(FILE *strem);程序例:#include <stdio.h>#include <stdlib.h>#define FNAME "test.$$$"int main(void){   FILE *fp;   int word;   /* place the word in a file */   fp = fopen(FNAME, "wb");   if (fp == NULL)   {      printf("Error opening file %s\n", FNAME);      exit(1);   }   word = 94;   putw(word,fp);   if (ferror(fp))       printf("Error writing to file\n");   else       printf("Successful write\n");   fclose(fp);   /* reopen the file */   fp = fopen(FNAME, "rb");   if (fp == NULL)   {      printf("Error opening file %s\n", FNAME);      exit(1);   }   /* extract the word */   word = getw(fp);   if (ferror(fp))       printf("Error reading file\n");   else       printf("Successful read: word = %d\n", word);   /* clean up */   fclose(fp);   unlink(FNAME);   return 0;}函数名: getx功  能: 返回当前图形位置的x坐标用  法: int far getx(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   char msg[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   /* move to the screen center point */   moveto(getmaxx() / 2, getmaxy() / 2);   /* create a message string */   sprintf(msg, "<-(%d, %d) is the here.", getx(), gety());   /* display the message */   outtext(msg);   /* clean up */   getch();   closegraph();   return 0;}函数名: gety功  能: 返回当前图形位置的y坐标用  法: int far gety(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   char msg[80];   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   /* move to the screen center point */   moveto(getmaxx() / 2, getmaxy() / 2);   /* create a message string */   sprintf(msg, "<-(%d, %d) is the here.", getx(), gety());   /* display the message */   outtext(msg);   /* clean up */   getch();   closegraph();   return 0;}函数名: gmtime功  能: 把日期和时间转换为格林尼治标准时间(GMT)用  法: struct tm *gmtime(long *clock);程序例:#include <stdio.h>#include <stdlib.h>#include <time.h>#include <dos.h>/* Pacific Standard Time & Daylight Savings */char *tzstr = "TZ=PST8PDT";int main(void){   time_t t;   struct tm *gmt, *area;   putenv(tzstr);   tzset();   t = time(NULL);   area = localtime(&t);   printf("Local time is: %s", asctime(area));   gmt = gmtime(&t);   printf("GMT is:        %s", asctime(gmt));   return 0;}函数名: gotoxy功  能: 在文本窗口中设置光标用  法: void gotoxy(int x, int y);程序例:#include <conio.h>int main(void){   clrscr();   gotoxy(35, 12);   cprintf("Hello world");   getch();   return 0;}函数名: gotoxy功  能: 在文本窗口中设置光标用  法: void gotoxy(int x, int y);程序例:#include <conio.h>int main(void){   clrscr();   gotoxy(35, 12);   cprintf("Hello world");   getch();   return 0;}函数名: graphdefaults功  能: 将所有图形设置复位为它们的缺省值用  法: void far graphdefaults(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   int maxx, maxy;   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "c:\\bor\\Borland\\bgi");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   maxx = getmaxx();   maxy = getmaxy();   /* output line with non-default settings */   setlinestyle(DOTTED_LINE, 0, 3);   line(0, 0, maxx, maxy);   outtextxy(maxx/2, maxy/3, "Before default values are restored.");   getch();   /* restore default values for everything */   graphdefaults();   /* clear the screen */   cleardevice();   /* output line with default settings */   line(0, 0, maxx, maxy);   outtextxy(maxx/2, maxy/3, "After restoring default values.");   /* clean up */   getch();   closegraph();   return 0;}函数名: grapherrormsg功  能: 返回一个错误信息串的指针用  法: char *far grapherrormsg(int errorcode);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#define NONSENSE -50int main(void){   /* FORCE AN ERROR TO OCCUR */   int gdriver = NONSENSE, gmode, errorcode;   /* initialize graphics mode */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   /* if an error occurred, then output a */   /* descriptive error message.          */   if (errorcode != grOk)   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   /* draw a line */   line(0, 0, getmaxx(), getmaxy());   /* clean up */   getch();   closegraph();   return 0;}函数名: graphresult功  能: 返回最后一次不成功的图形操作的错误代码用  法: int far graphresult(void);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){   /* request auto detection */   int gdriver = DETECT, gmode, errorcode;   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)  /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1); /* terminate with an error code */   }   /* draw a line */   line(0, 0, getmaxx(), getmaxy());   /* clean up */   getch();   closegraph();   return 0;}函数名: _graphfreemem功  能: 用户可修改的图形存储区释放函数用  法: void far _graphfreemem(void far *ptr, unsigned size);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <alloc.h>int main(void){       /* request auto detection */       int gdriver = DETECT, gmode, errorcode;       int midx, midy;       /* clear the text screen */       clrscr();       printf("Press any key to initialize graphics mode:");       getch();       clrscr();       /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");       /* read result of initialization */       errorcode = graphresult();       if (errorcode != grOk)  /* an error occurred */       {          printf("Graphics error: %s\n", grapherrormsg(errorcode));          printf("Press any key to halt:");          getch();          exit(1); /* terminate with an error code */       }       midx = getmaxx() / 2;       midy = getmaxy() / 2;       /* display a message */       settextjustify(CENTER_TEXT, CENTER_TEXT);       outtextxy(midx, midy, "Press any key to exit graphics mode:");       /* clean up */       getch();       closegraph();       return 0;}/* called by the graphics kernel to allocate memory */void far * far _graphgetmem(unsigned size){       printf("_graphgetmem called to allocate %d bytes.\n", size);       printf("hit any key:");       getch();       printf("\n");       /* allocate memory from far heap */       return farmalloc(size);}/* called by the graphics kernel to free memory */void far _graphfreemem(void far *ptr, unsigned size){       printf("_graphfreemem called to free %d bytes.\n", size);       printf("hit any key:");       getch();       printf("\n");      /* free ptr from far heap */      farfree(ptr);}函数名: _graphgetmem功  能: 用户可修改的图形存储区分配函数用  法: void far *far _graphgetmem(unsigned size);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <alloc.h>int main(void){   /* request autodetection */   int gdriver = DETECT, gmode, errorcode;   int midx, midy;   /* clear the text screen */   clrscr();   printf("Press any key to initialize graphics mode:");   getch();   clrscr();   /* initialize graphics and local variables */   initgraph(&gdriver, &gmode, "");   /* read result of initialization */   errorcode = graphresult();   if (errorcode != grOk)      /* an error occurred */   {      printf("Graphics error: %s\n", grapherrormsg(errorcode));      printf("Press any key to halt:");      getch();      exit(1);                 /* terminate with an error code */   }   midx = getmaxx() / 2;   midy = getmaxy() / 2;   /* display a message */   settextjustify(CENTER_TEXT, CENTER_TEXT);   outtextxy(midx, midy, "Press any key to exit graphics mode:");   /* clean up */   getch();   closegraph();   return 0;}/* called by the graphics kernel to allocate memory */void far * far _graphgetmem(unsigned size){   printf("_graphgetmem called to allocate %d bytes.\n", size);   printf("hit any key:");   getch();   printf("\n");   /* allocate memory from far heap */   return farmalloc(size);}/* called by the graphics kernel to free memory */void far _graphfreemem(void far *ptr, unsigned size){   printf("_graphfreemem called to free %d bytes.\n", size);   printf("hit any key:");   getch();   printf("\n");   /* free ptr from far heap */   farfree(ptr);}

 

原创粉丝点击