站長資訊網
        最全最豐富的資訊網站

        C語言函數大全 g

        函數名: 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 = %sn”, str);

           /* a negative number */
           num = -123.4567;
           gcvt(num, sig, str);
           printf(“string = %sn”, str);

           /* scientific notation */
           num = 0.678e5;
           gcvt(num, sig, str);
           printf(“string = %sn”, 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: %sn”,
                     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: %sn”,
                     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: %sn”,
                     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 onn”);
           else
              printf(“Cntrl-brk flag is offn”);

           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: %sn”,
                     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 %sn”, 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: %sn”, 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: %dn”,
           d.da_year);
           printf(“The current day is: %dn”,
           d.da_day);
           printf(“The current month is: %dn”,
           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: %sn”,
                     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] = %dn”, 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: %cn”,
            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: %sn”,
                      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: %Fpn”, 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: %sn”,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 An”);
           getchar();

           getfat(1, &diskinfo);
        /* get drive information */

           printf(“nDrive A: is “);
           switch((unsigned char) diskinfo.fi_fatid)
           {
              case 0xFD:
         printf(“360K low densityn”);
         break;

              case 0xF9:
         printf(“1.2 Meg high densityn”);
         break;

              default:
         printf(“unformattedn”);
         flag = 1;
           }

           if (!flag)
           {
              printf(”  sectors per cluster %5dn”,
               diskinfo.fi_sclus);
              printf(”   number of clusters %5dn”,
               diskinfo.fi_nclus);
              printf(”     bytes per sector %5dn”,
               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: %sn”, 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: %sn”, 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:%un”,
                  ft.ft_hour, ft.ft_min,
                  ft.ft_tsec * 2);
           printf(“File date: %u/%u/%un”,
           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: %sn”,
                     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:%un”,
                  ft.ft_hour, ft.ft_min,
                  ft.ft_tsec * 2);
           printf(“File date: %u/%u/%un”,
           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: %sn”,
                     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: %sn”, 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: %sn”, 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: %sn”, 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: %sn”, 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: %sn”, 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: %sn”, 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: %sn”, 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: %sn”,
                     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: %srn”,
            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: %sn”,
                     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: %sn”,
           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 #%drn”, 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      %2drn”,ti.winleft);
           cprintf(“window top       %2drn”,ti.wintop);
           cprintf(“window right     %2drn”,ti.winright);
           cprintf(“window bottom    %2drn”,ti.winbottom);
           cprintf(“attribute        %2drn”,ti.attribute);
           cprintf(“normal attribute %2drn”,ti.normattr);
           cprintf(“current mode     %2drn”,ti.currmode);
           cprintf(“screen height    %2drn”,ti.screenheight);
           cprintf(“screen width     %2drn”,ti.screenwidth);
           cprintf(“current x        %2drn”,ti.curx);
           cprintf(“current y        %2drn”,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: %sn”, 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.%02dn”,
                  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 onn”);
           else
              printf(“DOS verify flag is offn”);
           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: %sn”, 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 %sn”, FNAME);
              exit(1);
           }

           word = 94;
           putw(word,fp);
           if (ferror(fp))
               printf(“Error writing to filen”);
           else
               printf(“Successful writen”);
           fclose(fp);

           /* reopen the file */
           fp = fopen(FNAME, “rb”);
           if (fp == NULL)
           {
              printf(“Error opening file %sn”, FNAME);
              exit(1);
           }

           /* extract the word */
           word = getw(fp);
           if (ferror(fp))
               printf(“Error reading filen”);
           else
               printf(“Successful read: word = %dn”, 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: %sn”, 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: %sn”, 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: %sn”, 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 -50

        int 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: %sn”, 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: %sn”, 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: %sn”, 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: %sn”, 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);
        }

         

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 青青草精品视频| 亚洲国产精品一区二区第一页免| 精品久久久久久久久久久久久久久| 亚洲国产精品无码久久98| 国产精品午夜无码AV天美传媒| 国产精品高清一区二区三区 | 国产A∨国片精品一区二区| 久久国产精品一国产精品金尊| 亚洲欧美国产精品专区久久| 久久99精品久久久久久野外 | 久久久久人妻一区精品| 精品无码三级在线观看视频 | 精品国产不卡一区二区三区| 亚洲AV永久无码精品成人| 久久精品国产亚洲一区二区三区| 91精品一区二区综合在线| 国产精品久久久久影视不卡| 国内精品伊人久久久久AV影院| 久久夜色精品国产噜噜亚洲AV | 亚洲AV无码精品无码麻豆| 国产VA免费精品高清在线| 国产午夜精品理论片久久影视| 精品久久人妻av中文字幕| 久久青青草原国产精品免费| 伊人久久大香线蕉精品不卡| 国产亚洲精品AA片在线观看不加载 | 国产精品日本一区二区不卡视频| 91av国产精品| 97精品人妻一区二区三区香蕉 | 久久精品无码av| 精品乱子伦一区二区三区| 国产vA免费精品高清在线观看| 日韩精品成人一区二区三区| 国产精品一在线观看| 国产成人精品日本亚洲18图| 国内精品一级毛片免费看 | 国产麻豆精品一区二区三区v视界| 国产AⅤ精品一区二区三区久久| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲国产精品无码成人片久久| 人妻精品久久久久中文字幕69|