⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdg_022g.txt

📁 c编程宝典,详细介绍有关c的资料
💻 TXT
📖 第 1 页 / 共 4 页
字号:
      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); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -